1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2025-04-20 04:37:53 +00:00

Added support for specifying CONIO screen/color address and default text color using a #define. Thanks to @Sepa for contributing the code.

This commit is contained in:
jespergravgaard 2021-10-05 22:08:56 +02:00
parent 47e2bfbd19
commit 1c941b86a6
28 changed files with 765 additions and 1627 deletions

View File

@ -1,4 +1,4 @@
//KICKC FRAGMENT CACHE 974006396 97400843e
//KICKC FRAGMENT CACHE a359b420f a359b6324
//FRAGMENT vbuzz=vbuc1
ldz #{c1}
//FRAGMENT vbuzz_lt_vbuc1_then_la1

View File

@ -1,4 +1,4 @@
//KICKC FRAGMENT CACHE 974006396 97400843e
//KICKC FRAGMENT CACHE a359b420f a359b6324
//FRAGMENT _deref_pbuc1=vbuc2
lda #{c2}
sta {c1}
@ -1164,261 +1164,11 @@ inc
stx {c1}
//FRAGMENT _deref_pbuc1=vbuzz
stz {c1}
//FRAGMENT vbuz1=_deref_pbuc1_plus_1
lda {c1}
inc
sta {z1}
//FRAGMENT vbuz1=_stackidxbyte_vbuc1
tsx
lda STACK_BASE+{c1},x
sta {z1}
//FRAGMENT pbuz1_derefidx_vbuz2=vbuz3
lda {z3}
ldz {z2}
sta ({z1}),z
//FRAGMENT pbuz1_derefidx_vbuz2=vbuc1
lda #{c1}
ldz {z2}
sta ({z1}),z
//FRAGMENT vwuz1=_word_vbuz2
lda {z2}
sta {z1}
lda #0
sta {z1}+1
//FRAGMENT vwuz1=vwuz2_rol_2
lda {z2}
asl
sta {z1}
lda {z2}+1
rol
sta {z1}+1
asl {z1}
rol {z1}+1
//FRAGMENT vwuz1=vwuz2_plus_vwuz3
lda {z2}
clc
adc {z3}
sta {z1}
lda {z2}+1
adc {z3}+1
sta {z1}+1
//FRAGMENT vwuz1=vwuz2_rol_4
lda {z2}
asl
sta {z1}
lda {z2}+1
rol
sta {z1}+1
asl {z1}
rol {z1}+1
asl {z1}
rol {z1}+1
asl {z1}
rol {z1}+1
//FRAGMENT pbuz1=pbuc1_plus_vwuz2
lda {z2}
clc
adc #<{c1}
sta {z1}
lda {z2}+1
adc #>{c1}
sta {z1}+1
//FRAGMENT pbuz1=pbuz2
lda {z2}
sta {z1}
lda {z2}+1
sta {z1}+1
//FRAGMENT pbuz1=pbuz1_plus_vbuc1
lda #{c1}
clc
adc {z1}
sta {z1}
bcc !+
inc {z1}+1
!:
//FRAGMENT 0_neq_vbuz1_then_la1
lda {z1}
bne {la1}
//FRAGMENT _stackpushbyte_=vbuz1
lda {z1}
pha
//FRAGMENT call_vprc1
jsr {c1}
//FRAGMENT _stackpullbyte_1
pla
//FRAGMENT pvoz1=pvoc1
lda #<{c1}
sta {z1}
lda #>{c1}
sta {z1}+1
//FRAGMENT pbuz1=pbuz1_minus_vbuc1
sec
lda {z1}
sbc #{c1}
sta {z1}
lda {z1}+1
sbc #0
sta {z1}+1
//FRAGMENT pbuz1=pbuz2_plus_vwuc1
lda {z2}
clc
adc #<{c1}
sta {z1}
lda {z2}+1
adc #>{c1}
sta {z1}+1
//FRAGMENT pbuz1_neq_pbuz2_then_la1
lda {z1}+1
cmp {z2}+1
bne {la1}
lda {z1}
cmp {z2}
bne {la1}
//FRAGMENT _deref_pbuz1=_deref_pbuz2
ldy #0
lda ({z2}),y
ldy #0
sta ({z1}),y
//FRAGMENT pbuz1=pbuz2_plus_vbuc1
lda #{c1}
clc
adc {z2}
sta {z1}
lda #0
adc {z2}+1
sta {z1}+1
//FRAGMENT _deref_pbuz1=vbuz2
lda {z2}
ldy #0
sta ({z1}),y
//FRAGMENT vbuaa=_deref_pbuc1_plus_1
lda {c1}
inc
//FRAGMENT vbuxx=_deref_pbuc1_plus_1
ldx {c1}
inx
//FRAGMENT vbuaa=_stackidxbyte_vbuc1
tsx
lda STACK_BASE+{c1},x
//FRAGMENT vbuxx=_stackidxbyte_vbuc1
tsx
lda STACK_BASE+{c1},x
tax
//FRAGMENT vbuyy=_stackidxbyte_vbuc1
tsx
lda STACK_BASE+{c1},x
tay
//FRAGMENT vbuzz=_stackidxbyte_vbuc1
tsx
lda STACK_BASE+{c1},x
taz
//FRAGMENT pbuz1_derefidx_vbuz2=vbuaa
ldz {z2}
sta ({z1}),z
//FRAGMENT pbuz1_derefidx_vbuz2=vbuxx
txa
ldz {z2}
sta ({z1}),z
//FRAGMENT pbuz1_derefidx_vbuz2=vbuyy
tya
ldz {z2}
sta ({z1}),z
//FRAGMENT pbuz1_derefidx_vbuz2=vbuzz
tza
ldz {z2}
sta ({z1}),z
//FRAGMENT vbuz1=vbuxx
stx {z1}
//FRAGMENT vwuz1=_word_vbuxx
txa
sta {z1}
lda #0
sta {z1}+1
//FRAGMENT vwuz1=_word_vbuyy
tya
sta {z1}
lda #0
sta {z1}+1
//FRAGMENT vwuz1=_word_vbuzz
tza
sta {z1}
lda #0
sta {z1}+1
//FRAGMENT 0_neq_vbuaa_then_la1
cmp #0
bne {la1}
//FRAGMENT _stackpushbyte_=vbuaa
pha
//FRAGMENT _deref_pbuz1=vbuxx
txa
ldy #0
sta ({z1}),y
//FRAGMENT _deref_pbuz1=vbuyy
tya
ldy #0
sta ({z1}),y
//FRAGMENT _deref_pbuz1=vbuzz
tza
ldy #0
sta ({z1}),y
//FRAGMENT 0_neq_vbuxx_then_la1
cpx #0
bne {la1}
//FRAGMENT _stackpushbyte_=vbuxx
txa
pha
//FRAGMENT 0_neq_vbuyy_then_la1
cpy #0
bne {la1}
//FRAGMENT _stackpushbyte_=vbuyy
tya
pha
//FRAGMENT 0_neq_vbuzz_then_la1
cpz #0
bne {la1}
//FRAGMENT _stackpushbyte_=vbuzz
tza
pha
//FRAGMENT vbuz1=vbuyy
sty {z1}
//FRAGMENT vbuz1=vbuzz
stz {z1}
//FRAGMENT vbuxx=vbuaa
tax
//FRAGMENT vbuyy=_deref_pbuc1_plus_1
ldy {c1}
iny
//FRAGMENT vbuxx=vbuyy
tya
tax
//FRAGMENT vbuzz=_deref_pbuc1_plus_1
lda {c1}
inc
taz
//FRAGMENT vbuxx=vbuzz
tza
tax
//FRAGMENT vwuz1=vwuz2_plus_vwuz1
clc
lda {z1}
adc {z2}
sta {z1}
lda {z1}+1
adc {z2}+1
sta {z1}+1
//FRAGMENT pbuz1=pbuc1_plus_vwuz1
lda {z1}
clc
adc #<{c1}
sta {z1}
lda {z1}+1
adc #>{c1}
sta {z1}+1
//FRAGMENT vwuz1=vwuz1_rol_4
asw {z1}
asw {z1}
asw {z1}
asw {z1}
//FRAGMENT vwuz1=vwuc1
lda #<{c1}
sta {z1}
@ -1437,10 +1187,23 @@ sta {z1}
lda {z1}+1
adc #>{c1}
sta {z1}+1
//FRAGMENT pbuz1=pbuz1_plus_vbuc1
lda #{c1}
clc
adc {z1}
sta {z1}
bcc !+
inc {z1}+1
!:
//FRAGMENT pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz2
ldy {z2}
lda ({z3}),y
sta ({z1}),y
//FRAGMENT vwuz1=_word_vbuz2
lda {z2}
sta {z1}
lda #0
sta {z1}+1
//FRAGMENT pwuz1=pwuz1_plus_vbuc1
lda #{c1}
clc
@ -1514,6 +1277,21 @@ sta ({z1}),y
sta {z1}
lda #0
sta {z1}+1
//FRAGMENT vwuz1=_word_vbuxx
txa
sta {z1}
lda #0
sta {z1}+1
//FRAGMENT vwuz1=_word_vbuyy
tya
sta {z1}
lda #0
sta {z1}+1
//FRAGMENT vwuz1=_word_vbuzz
tza
sta {z1}
lda #0
sta {z1}+1
//FRAGMENT vbuz1=vbuaa_rol_1
asl
sta {z1}
@ -2399,6 +2177,10 @@ ldy {z1}+1
//FRAGMENT vbuzz=_byte1_vduz1
lda {z1}+1
taz
//FRAGMENT vbuz1=vbuxx
stx {z1}
//FRAGMENT vbuz1=vbuyy
sty {z1}
//FRAGMENT pbuc1_derefidx_vbuyy=vbuaa
sta {c1},y
//FRAGMENT pbuc1_derefidx_vbuzz=vbuaa
@ -2420,6 +2202,10 @@ tza
tax
tya
sta {c1},x
//FRAGMENT vbuz1=vbuzz
stz {z1}
//FRAGMENT vbuxx=vbuaa
tax
//FRAGMENT vbuyy=vbuaa
tay
//FRAGMENT vbuzz=vbuaa

View File

@ -1,4 +1,4 @@
//KICKC FRAGMENT CACHE 974006396 97400843e
//KICKC FRAGMENT CACHE a359b420f a359b6324
//FRAGMENT vbuz1=vbuc1
lda #{c1}
sta {z1}

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
//KICKC FRAGMENT CACHE 974006396 97400843e
//KICKC FRAGMENT CACHE a359b420f a359b6324
//FRAGMENT _deref_pbuc1=_inc__deref_pbuc1
inc {c1}
//FRAGMENT isr_hardware_all_entry

View File

@ -1,4 +1,4 @@
//KICKC FRAGMENT CACHE 974006396 97400843e
//KICKC FRAGMENT CACHE a359b420f a359b6324
//FRAGMENT vbuz1=_deref_pbuc1
lda {c1}
sta {z1}

View File

@ -7,11 +7,17 @@
// The screen height
#define CONIO_HEIGHT 25
// The text screen address
char * const CONIO_SCREEN_TEXT = DEFAULT_SCREEN;
#ifndef CONIO_SCREEN_TEXT
#define CONIO_SCREEN_TEXT DEFAULT_SCREEN
#endif
// The color screen address
char * const CONIO_SCREEN_COLORS = COLORRAM;
#ifndef CONIO_SCREEN_COLORS
#define CONIO_SCREEN_COLORS COLORRAM
#endif
// The default text color
const char CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE;
#ifndef CONIO_TEXTCOLOR_DEFAULT
#define CONIO_TEXTCOLOR_DEFAULT LIGHT_BLUE
#endif
// Use the shared CMB flat memory implementation
#include "conio-cbm-shared.c"

View File

@ -22,9 +22,13 @@
char* CONIO_SCREEN_TEXT = DEFAULT_SCREEN;
char CONIO_SCREEN_BANK = 0; // Default screen of the CX16 emulator uses memory bank 0 for text.
// The default text color
const char CONIO_TEXTCOLOR_DEFAULT = WHITE;
#ifndef CONIO_TEXTCOLOR_DEFAULT
#define CONIO_TEXTCOLOR_DEFAULT WHITE
#endif
// The default back color
const char CONIO_BACKCOLOR_DEFAULT = BLUE;
#ifndef CONIO_BACKCOLOR_DEFAULT
#define CONIO_BACKCOLOR_DEFAULT BLUE
#endif
// This requires the following constants to be defined

View File

@ -13,11 +13,17 @@
// The screen height
#define CONIO_HEIGHT 25
// The text screen address
char * const CONIO_SCREEN_TEXT = DEFAULT_SCREEN;
#ifndef CONIO_SCREEN_TEXT
#define CONIO_SCREEN_TEXT DEFAULT_SCREEN
#endif
// The color screen address
char * const CONIO_SCREEN_COLORS = COLORRAM;
#ifndef CONIO_SCREEN_COLORS
#define CONIO_SCREEN_COLORS COLORRAM
#endif
// The default text color
const char CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE;
#ifndef CONIO_TEXTCOLOR_DEFAULT
#define CONIO_TEXTCOLOR_DEFAULT LIGHT_BLUE
#endif
// Use the shared CBM flat memory implementation
#include "conio-cbm-shared.c"

View File

@ -11,7 +11,9 @@
// The number of bytes on the screen
#define CONIO_BYTES CONIO_HEIGHT*CONIO_WIDTH
// The text screen address
char * const CONIO_SCREEN_TEXT = PPU_NAME_TABLE_0;
#ifndef CONIO_SCREEN_TEXT
#define CONIO_SCREEN_TEXT PPU_NAME_TABLE_0
#endif
// Return true if there's any key pressed, return false if not
unsigned char kbhit (void) {

View File

@ -7,11 +7,17 @@
// The screen height
#define CONIO_HEIGHT 25
// The text screen address
char * const CONIO_SCREEN_TEXT = DEFAULT_SCREEN;
#ifndef CONIO_SCREEN_TEXT
#define CONIO_SCREEN_TEXT DEFAULT_SCREEN
#endif
// The color screen address
char * const CONIO_SCREEN_COLORS = DEFAULT_COLORRAM;
#ifndef CONIO_SCREEN_COLORS
#define CONIO_SCREEN_COLORS DEFAULT_COLORRAM
#endif
// The default text color
const char CONIO_TEXTCOLOR_DEFAULT = 0;
#ifndef CONIO_TEXTCOLOR_DEFAULT
#define CONIO_TEXTCOLOR_DEFAULT 0
#endif
// Use the shared CMB flat memory implementation
#include "conio-cbm-shared.c"

View File

@ -7,11 +7,17 @@
// The screen height
#define CONIO_HEIGHT 23
// The text screen address
char * const CONIO_SCREEN_TEXT = DEFAULT_SCREEN;
#ifndef CONIO_SCREEN_TEXT
#define CONIO_SCREEN_TEXT DEFAULT_SCREEN
#endif
// The color screen address
char * const CONIO_SCREEN_COLORS = DEFAULT_COLORRAM;
#ifndef CONIO_SCREEN_COLORS
#define CONIO_SCREEN_COLORS DEFAULT_COLORRAM
#endif
// The default text color
const char CONIO_TEXTCOLOR_DEFAULT = BLUE;
#ifndef CONIO_TEXTCOLOR_DEFAULT
#define CONIO_TEXTCOLOR_DEFAULT BLUE
#endif
// Use the shared CMB flat memory implementation
#include "conio-cbm-shared.c"

View File

@ -9,6 +9,11 @@ import java.io.IOException;
*/
public class TestProgramsThorough extends TestPrograms {
//@Test
//public void testComplexSwinkiblues() throws IOException {
// compileAndCompare("complex/swinkiblues/kielbasa.c", log());
//}
@Test
public void testCx16VeralibTilemap8bpp8() throws IOException {
compileAndCompare("examples/cx16/veralib/tilemap_8bpp_8_x_8.c");

View File

@ -26,8 +26,8 @@ CONTROL FLOW GRAPH SSA
void clrscr()
clrscr: scope:[clrscr] from main
clrscr::line_text#0 = CONIO_SCREEN_TEXT
clrscr::line_cols#0 = CONIO_SCREEN_COLORS
clrscr::line_text#0 = DEFAULT_SCREEN
clrscr::line_cols#0 = COLORRAM
clrscr::l#0 = 0
to:clrscr::@1
clrscr::@1: scope:[clrscr] from clrscr clrscr::@6
@ -46,8 +46,8 @@ clrscr::@2: scope:[clrscr] from clrscr::@1
clrscr::@3: scope:[clrscr] from clrscr::@1
conio_cursor_x = 0
conio_cursor_y = 0
conio_line_text = CONIO_SCREEN_TEXT
conio_line_color = CONIO_SCREEN_COLORS
conio_line_text = DEFAULT_SCREEN
conio_line_color = COLORRAM
to:clrscr::@return
clrscr::@4: scope:[clrscr] from clrscr::@2 clrscr::@5
clrscr::l#4 = phi( clrscr::@2/clrscr::l#5, clrscr::@5/clrscr::l#6 )
@ -104,9 +104,9 @@ gotoxy::@2: scope:[gotoxy] from gotoxy::@1 gotoxy::@4
conio_cursor_y = gotoxy::y#4
gotoxy::$7 = (unsigned int)gotoxy::y#4
gotoxy::line_offset#0 = gotoxy::$7 * $28
gotoxy::$5 = CONIO_SCREEN_TEXT + gotoxy::line_offset#0
gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0
conio_line_text = gotoxy::$5
gotoxy::$6 = CONIO_SCREEN_COLORS + gotoxy::line_offset#0
gotoxy::$6 = COLORRAM + gotoxy::line_offset#0
conio_line_color = gotoxy::$6
to:gotoxy::@return
gotoxy::@4: scope:[gotoxy] from gotoxy::@1
@ -338,28 +338,28 @@ cscroll::@1: scope:[cscroll] from cscroll
if(cscroll::$7) goto cscroll::@3
to:cscroll::@2
cscroll::@3: scope:[cscroll] from cscroll::@1
memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
memcpy::destination#0 = (void *)DEFAULT_SCREEN
memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
memcpy::num#0 = $19*$28-$28
call memcpy
memcpy::return#2 = memcpy::return#1
to:cscroll::@4
cscroll::@4: scope:[cscroll] from cscroll::@3
memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
memcpy::destination#1 = (void *)COLORRAM
memcpy::source#1 = (void *)COLORRAM+$28
memcpy::num#1 = $19*$28-$28
call memcpy
memcpy::return#3 = memcpy::return#1
to:cscroll::@5
cscroll::@5: scope:[cscroll] from cscroll::@4
memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
memset::c#0 = ' '
memset::num#0 = $28
call memset
memset::return#2 = memset::return#1
to:cscroll::@6
cscroll::@6: scope:[cscroll] from cscroll::@5
memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
memset::str#1 = (void *)COLORRAM+$19*$28-$28
memset::c#1 = conio_textcolor
memset::num#1 = $28
call memset
@ -1025,9 +1025,9 @@ __start: scope:[__start] from
__start::__init1: scope:[__start] from __start
conio_cursor_x = 0
conio_cursor_y = 0
conio_line_text = CONIO_SCREEN_TEXT
conio_line_color = CONIO_SCREEN_COLORS
conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
conio_line_text = DEFAULT_SCREEN
conio_line_color = COLORRAM
conio_textcolor = LIGHT_BLUE
conio_scroll_enable = 1
call conio_c64_init
to:__start::@2
@ -1045,9 +1045,6 @@ __start::@return: scope:[__start] from __start::@3
SYMBOL TABLE SSA
__constant char BINARY = 2
__constant char * const COLORRAM = (char *)$d800
__constant char * const CONIO_SCREEN_COLORS = COLORRAM
__constant char * const CONIO_SCREEN_TEXT = DEFAULT_SCREEN
__constant const char CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
__constant char DECIMAL = $a
__constant char * const DEFAULT_SCREEN = (char *)$400
__constant char DIGITS[] = "0123456789abcdef"z
@ -1758,15 +1755,15 @@ Adding number conversion cast (unumber) 0 in strlen::$0 = 0 != *strlen::str#2
Adding number conversion cast (unumber) 0 in strupr::$1 = 0 != *strupr::src#2
Adding number conversion cast (unumber) $19 in cscroll::$0 = conio_cursor_y == $19
Adding number conversion cast (unumber) 0 in cscroll::$7 = 0 != conio_scroll_enable
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#0 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)COLORRAM+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#1 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#0 = $28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)COLORRAM+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)COLORRAM+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#1 = $28
Adding number conversion cast (unumber) $28 in conio_line_text = conio_line_text - $28
Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_color - $28
@ -2216,23 +2213,23 @@ Constant right-side identified [114] memcpy::num#0 = (unumber)$19*$28-$28
Constant right-side identified [119] memcpy::num#1 = (unumber)$19*$28-$28
Constant right-side identified [146] conio_c64_init::line#1 = (unumber)$19-1
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant clrscr::line_text#0 = CONIO_SCREEN_TEXT
Constant clrscr::line_cols#0 = CONIO_SCREEN_COLORS
Constant clrscr::line_text#0 = DEFAULT_SCREEN
Constant clrscr::line_cols#0 = COLORRAM
Constant clrscr::l#0 = 0
Constant clrscr::c#0 = 0
Constant gotoxy::y#0 = 0
Constant gotoxy::x#0 = 0
Constant strlen::len#0 = 0
Constant memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
Constant memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Constant memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Constant memcpy::num#0 = (unumber)$19*$28-$28
Constant memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
Constant memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Constant memcpy::destination#1 = (void *)COLORRAM
Constant memcpy::source#1 = (void *)COLORRAM+$28
Constant memcpy::num#1 = (unumber)$19*$28-$28
Constant memset::str#0 = (void *)CONIO_SCREEN_TEXT+(unsigned int)$19*$28-$28
Constant memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant memset::c#0 = ' '
Constant memset::num#0 = $28
Constant memset::str#1 = (void *)CONIO_SCREEN_COLORS+(unsigned int)$19*$28-$28
Constant memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant memset::num#1 = $28
Constant gotoxy::x#1 = 0
Constant gotoxy::y#1 = 0
@ -2271,7 +2268,7 @@ Constant printf_sint::format_radix#0 = DECIMAL
Constant printf_str::putc#1 = &cputc
Constant printf_str::s#2 = test_casting::s
Constant main::signed_char_value#0 = -5
Constant conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
Constant conio_textcolor = LIGHT_BLUE
Constant conio_scroll_enable = 1
Successful SSA optimization Pass2ConstantIdentification
Constant memset::c#1 = conio_textcolor
@ -2592,15 +2589,12 @@ Constant inlined clrscr::l#0 = 0
Constant inlined conio_c64_init::line#1 = (char)$19-1
Constant inlined memcpy::source#1 = (void *)COLORRAM+$28
Constant inlined utoa::digit#0 = 0
Constant inlined CONIO_SCREEN_TEXT = DEFAULT_SCREEN
Constant inlined printf_str::s#1 = printf_number_buffer::buffer_digits#0
Constant inlined main::signed_char_value#0 = -5
Constant inlined printf_str::s#2 = test_casting::s
Constant inlined utoa::$4 = utoa::max_digits#1-1
Constant inlined CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
Constant inlined memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant inlined memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant inlined CONIO_SCREEN_COLORS = COLORRAM
Constant inlined clrscr::line_text#0 = DEFAULT_SCREEN
Constant inlined utoa::started#1 = 1
Constant inlined utoa::started#0 = 0

View File

@ -375,8 +375,8 @@ uctoa_append::@return: scope:[uctoa_append] from uctoa_append::@3
void clrscr()
clrscr: scope:[clrscr] from main::@3
clrscr::line_text#0 = CONIO_SCREEN_TEXT
clrscr::line_cols#0 = CONIO_SCREEN_COLORS
clrscr::line_text#0 = DEFAULT_SCREEN
clrscr::line_cols#0 = COLORRAM
clrscr::l#0 = 0
to:clrscr::@1
clrscr::@1: scope:[clrscr] from clrscr clrscr::@6
@ -395,8 +395,8 @@ clrscr::@2: scope:[clrscr] from clrscr::@1
clrscr::@3: scope:[clrscr] from clrscr::@1
conio_cursor_x = 0
conio_cursor_y = 0
conio_line_text = CONIO_SCREEN_TEXT
conio_line_color = CONIO_SCREEN_COLORS
conio_line_text = DEFAULT_SCREEN
conio_line_color = COLORRAM
to:clrscr::@return
clrscr::@4: scope:[clrscr] from clrscr::@2 clrscr::@5
clrscr::l#4 = phi( clrscr::@2/clrscr::l#5, clrscr::@5/clrscr::l#6 )
@ -453,9 +453,9 @@ gotoxy::@2: scope:[gotoxy] from gotoxy::@1 gotoxy::@4
conio_cursor_y = gotoxy::y#4
gotoxy::$7 = (unsigned int)gotoxy::y#4
gotoxy::line_offset#0 = gotoxy::$7 * $28
gotoxy::$5 = CONIO_SCREEN_TEXT + gotoxy::line_offset#0
gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0
conio_line_text = gotoxy::$5
gotoxy::$6 = CONIO_SCREEN_COLORS + gotoxy::line_offset#0
gotoxy::$6 = COLORRAM + gotoxy::line_offset#0
conio_line_color = gotoxy::$6
to:gotoxy::@return
gotoxy::@4: scope:[gotoxy] from gotoxy::@1
@ -521,28 +521,28 @@ cscroll::@1: scope:[cscroll] from cscroll
if(cscroll::$7) goto cscroll::@3
to:cscroll::@2
cscroll::@3: scope:[cscroll] from cscroll::@1
memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
memcpy::destination#0 = (void *)DEFAULT_SCREEN
memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
memcpy::num#0 = $19*$28-$28
call memcpy
memcpy::return#2 = memcpy::return#1
to:cscroll::@4
cscroll::@4: scope:[cscroll] from cscroll::@3
memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
memcpy::destination#1 = (void *)COLORRAM
memcpy::source#1 = (void *)COLORRAM+$28
memcpy::num#1 = $19*$28-$28
call memcpy
memcpy::return#3 = memcpy::return#1
to:cscroll::@5
cscroll::@5: scope:[cscroll] from cscroll::@4
memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
memset::c#0 = ' '
memset::num#0 = $28
call memset
memset::return#2 = memset::return#1
to:cscroll::@6
cscroll::@6: scope:[cscroll] from cscroll::@5
memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
memset::str#1 = (void *)COLORRAM+$19*$28-$28
memset::c#1 = conio_textcolor
memset::num#1 = $28
call memset
@ -1141,9 +1141,9 @@ __start: scope:[__start] from
__start::__init1: scope:[__start] from __start
conio_cursor_x = 0
conio_cursor_y = 0
conio_line_text = CONIO_SCREEN_TEXT
conio_line_color = CONIO_SCREEN_COLORS
conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
conio_line_text = DEFAULT_SCREEN
conio_line_color = COLORRAM
conio_textcolor = LIGHT_BLUE
conio_scroll_enable = 1
call conio_c64_init
to:__start::@2
@ -1162,9 +1162,6 @@ __start::@return: scope:[__start] from __start::@3
SYMBOL TABLE SSA
__constant char BINARY = 2
__constant char * const COLORRAM = (char *)$d800
__constant char * const CONIO_SCREEN_COLORS = COLORRAM
__constant char * const CONIO_SCREEN_TEXT = DEFAULT_SCREEN
__constant const char CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
__constant char DECIMAL = $a
__constant char * const DEFAULT_FONT_MIXED = (char *)$1800
__constant char * const DEFAULT_SCREEN = (char *)$400
@ -1955,15 +1952,15 @@ Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_col
Adding number conversion cast (unumber) 0 in conio_cursor_x = 0
Adding number conversion cast (unumber) $19 in cscroll::$0 = conio_cursor_y == $19
Adding number conversion cast (unumber) 0 in cscroll::$7 = 0 != conio_scroll_enable
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#0 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)COLORRAM+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#1 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#0 = $28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)COLORRAM+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)COLORRAM+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#1 = $28
Adding number conversion cast (unumber) $28 in conio_line_text = conio_line_text - $28
Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_color - $28
@ -2527,22 +2524,22 @@ Constant uctoa::started#0 = 0
Constant uctoa::digit#0 = 0
Constant uctoa::started#1 = 1
Constant uctoa_append::digit#0 = 0
Constant clrscr::line_text#0 = CONIO_SCREEN_TEXT
Constant clrscr::line_cols#0 = CONIO_SCREEN_COLORS
Constant clrscr::line_text#0 = DEFAULT_SCREEN
Constant clrscr::line_cols#0 = COLORRAM
Constant clrscr::l#0 = 0
Constant clrscr::c#0 = 0
Constant gotoxy::y#0 = 0
Constant gotoxy::x#0 = 0
Constant memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
Constant memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Constant memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Constant memcpy::num#0 = (unumber)$19*$28-$28
Constant memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
Constant memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Constant memcpy::destination#1 = (void *)COLORRAM
Constant memcpy::source#1 = (void *)COLORRAM+$28
Constant memcpy::num#1 = (unumber)$19*$28-$28
Constant memset::str#0 = (void *)CONIO_SCREEN_TEXT+(unsigned int)$19*$28-$28
Constant memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant memset::c#0 = ' '
Constant memset::num#0 = $28
Constant memset::str#1 = (void *)CONIO_SCREEN_COLORS+(unsigned int)$19*$28-$28
Constant memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant memset::num#1 = $28
Constant gotoxy::x#1 = 0
Constant gotoxy::y#1 = 0
@ -2576,7 +2573,7 @@ Constant printf_uchar::format_radix#0 = HEXADECIMAL
Constant printf_str::putc#3 = &cputc
Constant printf_str::s#4 = main::s2
Constant petscii_to_screencode::return#7 = $5e
Constant conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
Constant conio_textcolor = LIGHT_BLUE
Constant conio_scroll_enable = 1
Successful SSA optimization Pass2ConstantIdentification
Constant memset::c#1 = conio_textcolor
@ -2898,7 +2895,6 @@ Constant inlined strlen::len#0 = 0
Constant inlined petscii_to_screencode::return#7 = $5e
Constant inlined printf_str::s#3 = main::s1
Constant inlined printf_str::s#4 = main::s2
Constant inlined CONIO_SCREEN_TEXT = DEFAULT_SCREEN
Constant inlined printf_str::s#1 = printf_number_buffer::buffer_digits#0
Constant inlined printf_str::s#2 = main::s
Constant inlined printf_number_buffer::padding#2 = 0
@ -2928,11 +2924,9 @@ Constant inlined memcpy::destination#1 = (void *)COLORRAM
Constant inlined conio_c64_init::line#1 = (char)$19-1
Constant inlined memcpy::source#1 = (void *)COLORRAM+$28
Constant inlined printf_number_buffer::format_min_length#0 = printf_uchar::format_min_length#0
Constant inlined CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
Constant inlined memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant inlined memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant inlined printf_padding::i#0 = 0
Constant inlined CONIO_SCREEN_COLORS = COLORRAM
Constant inlined printf_number_buffer::putc#0 = printf_uchar::putc#0
Constant inlined uctoa::buffer#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined memcpy::num#1 = (unsigned int)$19*$28-$28

View File

@ -125,9 +125,9 @@ gotoxy::@2: scope:[gotoxy] from gotoxy::@1 gotoxy::@4
conio_cursor_y = gotoxy::y#4
gotoxy::$7 = (unsigned int)gotoxy::y#4
gotoxy::line_offset#0 = gotoxy::$7 * $28
gotoxy::$5 = CONIO_SCREEN_TEXT + gotoxy::line_offset#0
gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0
conio_line_text = gotoxy::$5
gotoxy::$6 = CONIO_SCREEN_COLORS + gotoxy::line_offset#0
gotoxy::$6 = COLORRAM + gotoxy::line_offset#0
conio_line_color = gotoxy::$6
to:gotoxy::@return
gotoxy::@4: scope:[gotoxy] from gotoxy::@1
@ -193,28 +193,28 @@ cscroll::@1: scope:[cscroll] from cscroll
if(cscroll::$7) goto cscroll::@3
to:cscroll::@2
cscroll::@3: scope:[cscroll] from cscroll::@1
memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
memcpy::destination#0 = (void *)DEFAULT_SCREEN
memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
memcpy::num#0 = $19*$28-$28
call memcpy
memcpy::return#2 = memcpy::return#1
to:cscroll::@4
cscroll::@4: scope:[cscroll] from cscroll::@3
memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
memcpy::destination#1 = (void *)COLORRAM
memcpy::source#1 = (void *)COLORRAM+$28
memcpy::num#1 = $19*$28-$28
call memcpy
memcpy::return#3 = memcpy::return#1
to:cscroll::@5
cscroll::@5: scope:[cscroll] from cscroll::@4
memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
memset::c#0 = ' '
memset::num#0 = $28
call memset
memset::return#2 = memset::return#1
to:cscroll::@6
cscroll::@6: scope:[cscroll] from cscroll::@5
memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
memset::str#1 = (void *)COLORRAM+$19*$28-$28
memset::c#1 = conio_textcolor
memset::num#1 = $28
call memset
@ -303,9 +303,9 @@ __start: scope:[__start] from
__start::__init1: scope:[__start] from __start
conio_cursor_x = 0
conio_cursor_y = 0
conio_line_text = CONIO_SCREEN_TEXT
conio_line_color = CONIO_SCREEN_COLORS
conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
conio_line_text = DEFAULT_SCREEN
conio_line_color = COLORRAM
conio_textcolor = LIGHT_BLUE
conio_scroll_enable = 1
call conio_c64_init
to:__start::@2
@ -322,9 +322,6 @@ __start::@return: scope:[__start] from __start::@3
SYMBOL TABLE SSA
__constant char * const COLORRAM = (char *)$d800
__constant char * const CONIO_SCREEN_COLORS = COLORRAM
__constant char * const CONIO_SCREEN_TEXT = DEFAULT_SCREEN
__constant const char CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
__constant char * const DEFAULT_SCREEN = (char *)$400
__constant const char LIGHT_BLUE = $e
__constant char RADIX::BINARY = 2
@ -498,15 +495,15 @@ Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_col
Adding number conversion cast (unumber) 0 in conio_cursor_x = 0
Adding number conversion cast (unumber) $19 in cscroll::$0 = conio_cursor_y == $19
Adding number conversion cast (unumber) 0 in cscroll::$7 = 0 != conio_scroll_enable
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#0 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)COLORRAM+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#1 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#0 = $28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)COLORRAM+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)COLORRAM+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#1 = $28
Adding number conversion cast (unumber) $28 in conio_line_text = conio_line_text - $28
Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_color - $28
@ -652,16 +649,16 @@ Constant right-side identified [98] conio_c64_init::line#1 = (unumber)$19-1
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant gotoxy::y#0 = 0
Constant gotoxy::x#0 = 0
Constant memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
Constant memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Constant memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Constant memcpy::num#0 = (unumber)$19*$28-$28
Constant memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
Constant memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Constant memcpy::destination#1 = (void *)COLORRAM
Constant memcpy::source#1 = (void *)COLORRAM+$28
Constant memcpy::num#1 = (unumber)$19*$28-$28
Constant memset::str#0 = (void *)CONIO_SCREEN_TEXT+(unsigned int)$19*$28-$28
Constant memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant memset::c#0 = ' '
Constant memset::num#0 = $28
Constant memset::str#1 = (void *)CONIO_SCREEN_COLORS+(unsigned int)$19*$28-$28
Constant memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant memset::num#1 = $28
Constant gotoxy::x#1 = 0
Constant gotoxy::y#1 = 0
@ -670,7 +667,7 @@ Constant conio_c64_init::line#1 = (unumber)$19-1
Constant printf_str::c#0 = 0
Constant printf_str::putc#0 = &cputc
Constant printf_str::s#1 = main::s
Constant conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
Constant conio_textcolor = LIGHT_BLUE
Constant conio_scroll_enable = 1
Successful SSA optimization Pass2ConstantIdentification
Constant memset::c#1 = conio_textcolor
@ -745,7 +742,6 @@ Inlining constant with var siblings conio_c64_init::line#1
Inlining constant with var siblings printf_str::s#1
Constant inlined memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant inlined memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant inlined CONIO_SCREEN_COLORS = COLORRAM
Constant inlined conio_textcolor = LIGHT_BLUE
Constant inlined memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant inlined memset::num#1 = $28
@ -757,11 +753,9 @@ Constant inlined memcpy::num#0 = (unsigned int)$19*$28-$28
Constant inlined conio_c64_init::line#1 = (char)$19-1
Constant inlined memcpy::source#1 = (void *)COLORRAM+$28
Constant inlined gotoxy::y#0 = 0
Constant inlined CONIO_SCREEN_TEXT = DEFAULT_SCREEN
Constant inlined printf_str::s#1 = main::s
Constant inlined memset::c#0 = ' '
Constant inlined memset::c#1 = LIGHT_BLUE
Constant inlined CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
Successful SSA optimization Pass2ConstantInlining
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6

View File

@ -143,9 +143,9 @@ gotoxy::@2: scope:[gotoxy] from gotoxy::@1 gotoxy::@4
conio_cursor_y = gotoxy::y#4
gotoxy::$7 = (unsigned int)gotoxy::y#4
gotoxy::line_offset#0 = gotoxy::$7 * $50
gotoxy::$5 = CONIO_SCREEN_TEXT + gotoxy::line_offset#0
gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0
conio_line_text = gotoxy::$5
gotoxy::$6 = CONIO_SCREEN_COLORS + gotoxy::line_offset#0
gotoxy::$6 = COLORRAM + gotoxy::line_offset#0
conio_line_color = gotoxy::$6
to:gotoxy::@return
gotoxy::@4: scope:[gotoxy] from gotoxy::@1
@ -232,28 +232,28 @@ cscroll::@1: scope:[cscroll] from cscroll
if(cscroll::$7) goto cscroll::@3
to:cscroll::@2
cscroll::@3: scope:[cscroll] from cscroll::@1
memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$50
memcpy::destination#0 = (void *)DEFAULT_SCREEN
memcpy::source#0 = (void *)DEFAULT_SCREEN+$50
memcpy::num#0 = $19*$50-$50
call memcpy
memcpy::return#2 = memcpy::return#1
to:cscroll::@4
cscroll::@4: scope:[cscroll] from cscroll::@3
memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$50
memcpy::destination#1 = (void *)COLORRAM
memcpy::source#1 = (void *)COLORRAM+$50
memcpy::num#1 = $19*$50-$50
call memcpy
memcpy::return#3 = memcpy::return#1
to:cscroll::@5
cscroll::@5: scope:[cscroll] from cscroll::@4
memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$50-$50
memset::str#0 = (void *)DEFAULT_SCREEN+$19*$50-$50
memset::c#0 = ' '
memset::num#0 = $50
call memset
memset::return#2 = memset::return#1
to:cscroll::@6
cscroll::@6: scope:[cscroll] from cscroll::@5
memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$50-$50
memset::str#1 = (void *)COLORRAM+$19*$50-$50
memset::c#1 = conio_textcolor
memset::num#1 = $50
call memset
@ -356,9 +356,9 @@ __start: scope:[__start] from
__start::__init1: scope:[__start] from __start
conio_cursor_x = 0
conio_cursor_y = 0
conio_line_text = CONIO_SCREEN_TEXT
conio_line_color = CONIO_SCREEN_COLORS
conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
conio_line_text = DEFAULT_SCREEN
conio_line_color = COLORRAM
conio_textcolor = LIGHT_BLUE
conio_scroll_enable = 1
call conio_mega65_init
to:__start::@2
@ -375,9 +375,6 @@ __start::@return: scope:[__start] from __start::@3
SYMBOL TABLE SSA
__constant char * const COLORRAM = (char *)$d800
__constant char * const CONIO_SCREEN_COLORS = COLORRAM
__constant char * const CONIO_SCREEN_TEXT = DEFAULT_SCREEN
__constant const char CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
__constant const char CRAM2K = 1
__constant char * const DEFAULT_SCREEN = (char *)$800
__constant volatile char * const IO_BANK = (char *)$d030
@ -580,15 +577,15 @@ Adding number conversion cast (unumber) $f in memoryRemap::$8 = memoryRemap::$7
Adding number conversion cast (unumber) memoryRemap::$8 in memoryRemap::$8 = memoryRemap::$7 & (unumber)$f
Adding number conversion cast (unumber) $19 in cscroll::$0 = conio_cursor_y == $19
Adding number conversion cast (unumber) 0 in cscroll::$7 = 0 != conio_scroll_enable
Adding number conversion cast (unumber) $50 in memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$50
Adding number conversion cast (unumber) $50 in memcpy::source#0 = (void *)DEFAULT_SCREEN+$50
Adding number conversion cast (unumber) $19*$50-$50 in memcpy::num#0 = $19*$50-$50
Adding number conversion cast (unumber) $50 in memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$50
Adding number conversion cast (unumber) $50 in memcpy::source#1 = (void *)COLORRAM+$50
Adding number conversion cast (unumber) $19*$50-$50 in memcpy::num#1 = $19*$50-$50
Adding number conversion cast (unumber) $50 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$50-$50
Adding number conversion cast (unumber) $19*$50 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$50-(unumber)$50
Adding number conversion cast (unumber) $50 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$50-$50
Adding number conversion cast (unumber) $19*$50 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$50-(unumber)$50
Adding number conversion cast (unumber) $50 in memset::num#0 = $50
Adding number conversion cast (unumber) $50 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$50-$50
Adding number conversion cast (unumber) $19*$50 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$50-(unumber)$50
Adding number conversion cast (unumber) $50 in memset::str#1 = (void *)COLORRAM+$19*$50-$50
Adding number conversion cast (unumber) $19*$50 in memset::str#1 = (void *)COLORRAM+$19*$50-(unumber)$50
Adding number conversion cast (unumber) $50 in memset::num#1 = $50
Adding number conversion cast (unumber) $50 in conio_line_text = conio_line_text - $50
Adding number conversion cast (unumber) $50 in conio_line_color = conio_line_color - $50
@ -773,16 +770,16 @@ Constant right-side identified [119] conio_mega65_init::line#1 = (unumber)$19-1
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant gotoxy::y#0 = 0
Constant gotoxy::x#0 = 0
Constant memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
Constant memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$50
Constant memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant memcpy::source#0 = (void *)DEFAULT_SCREEN+$50
Constant memcpy::num#0 = (unumber)$19*$50-$50
Constant memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
Constant memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$50
Constant memcpy::destination#1 = (void *)COLORRAM
Constant memcpy::source#1 = (void *)COLORRAM+$50
Constant memcpy::num#1 = (unumber)$19*$50-$50
Constant memset::str#0 = (void *)CONIO_SCREEN_TEXT+(unsigned int)$19*$50-$50
Constant memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$50-$50
Constant memset::c#0 = ' '
Constant memset::num#0 = $50
Constant memset::str#1 = (void *)CONIO_SCREEN_COLORS+(unsigned int)$19*$50-$50
Constant memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$50-$50
Constant memset::num#1 = $50
Constant gotoxy::x#1 = 0
Constant gotoxy::y#1 = 0
@ -794,7 +791,7 @@ Constant conio_mega65_init::line#1 = (unumber)$19-1
Constant printf_str::c#0 = 0
Constant printf_str::putc#0 = &cputc
Constant printf_str::s#1 = main::s
Constant conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
Constant conio_textcolor = LIGHT_BLUE
Constant conio_scroll_enable = 1
Successful SSA optimization Pass2ConstantIdentification
Constant memset::c#1 = conio_textcolor
@ -910,7 +907,6 @@ Inlining constant with var siblings conio_mega65_init::line#1
Inlining constant with var siblings printf_str::s#1
Constant inlined memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$50-$50
Constant inlined memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$50-$50
Constant inlined CONIO_SCREEN_COLORS = COLORRAM
Constant inlined conio_textcolor = LIGHT_BLUE
Constant inlined memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant inlined memset::num#1 = $50
@ -923,12 +919,10 @@ Constant inlined memcpy::num#0 = (unsigned int)$19*$50-$50
Constant inlined memcpy::source#1 = (void *)COLORRAM+$50
Constant inlined gotoxy::y#0 = 0
Constant inlined memoryRemap::$3 = 0
Constant inlined CONIO_SCREEN_TEXT = DEFAULT_SCREEN
Constant inlined printf_str::s#1 = main::s
Constant inlined memset::c#0 = ' '
Constant inlined memset::c#1 = LIGHT_BLUE
Constant inlined memoryRemap::$8 = 0
Constant inlined CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
Successful SSA optimization Pass2ConstantInlining
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6

View File

@ -127,9 +127,9 @@ gotoxy::@2: scope:[gotoxy] from gotoxy::@1 gotoxy::@4
conio_cursor_y = gotoxy::y#4
gotoxy::$7 = (unsigned int)gotoxy::y#4
gotoxy::line_offset#0 = gotoxy::$7 * $28
gotoxy::$5 = CONIO_SCREEN_TEXT + gotoxy::line_offset#0
gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0
conio_line_text = gotoxy::$5
gotoxy::$6 = CONIO_SCREEN_COLORS + gotoxy::line_offset#0
gotoxy::$6 = COLORRAM + gotoxy::line_offset#0
conio_line_color = gotoxy::$6
to:gotoxy::@return
gotoxy::@4: scope:[gotoxy] from gotoxy::@1
@ -195,28 +195,28 @@ cscroll::@1: scope:[cscroll] from cscroll
if(cscroll::$7) goto cscroll::@3
to:cscroll::@2
cscroll::@3: scope:[cscroll] from cscroll::@1
memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
memcpy::destination#0 = (void *)DEFAULT_SCREEN
memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
memcpy::num#0 = $19*$28-$28
call memcpy
memcpy::return#2 = memcpy::return#1
to:cscroll::@4
cscroll::@4: scope:[cscroll] from cscroll::@3
memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
memcpy::destination#1 = (void *)COLORRAM
memcpy::source#1 = (void *)COLORRAM+$28
memcpy::num#1 = $19*$28-$28
call memcpy
memcpy::return#3 = memcpy::return#1
to:cscroll::@5
cscroll::@5: scope:[cscroll] from cscroll::@4
memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
memset::c#0 = ' '
memset::num#0 = $28
call memset
memset::return#2 = memset::return#1
to:cscroll::@6
cscroll::@6: scope:[cscroll] from cscroll::@5
memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
memset::str#1 = (void *)COLORRAM+$19*$28-$28
memset::c#1 = conio_textcolor
memset::num#1 = $28
call memset
@ -341,9 +341,9 @@ __start: scope:[__start] from
__start::__init1: scope:[__start] from __start
conio_cursor_x = 0
conio_cursor_y = 0
conio_line_text = CONIO_SCREEN_TEXT
conio_line_color = CONIO_SCREEN_COLORS
conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
conio_line_text = DEFAULT_SCREEN
conio_line_color = COLORRAM
conio_textcolor = LIGHT_BLUE
conio_scroll_enable = 1
call conio_c64_init
to:__start::@2
@ -360,9 +360,6 @@ __start::@return: scope:[__start] from __start::@3
SYMBOL TABLE SSA
__constant char * const COLORRAM = (char *)$d800
__constant char * const CONIO_SCREEN_COLORS = COLORRAM
__constant char * const CONIO_SCREEN_TEXT = DEFAULT_SCREEN
__constant const char CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
__constant char * const DEFAULT_SCREEN = (char *)$400
__constant const char LIGHT_BLUE = $e
__constant char RADIX::BINARY = 2
@ -545,15 +542,15 @@ Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_col
Adding number conversion cast (unumber) 0 in conio_cursor_x = 0
Adding number conversion cast (unumber) $19 in cscroll::$0 = conio_cursor_y == $19
Adding number conversion cast (unumber) 0 in cscroll::$7 = 0 != conio_scroll_enable
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#0 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)COLORRAM+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#1 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#0 = $28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)COLORRAM+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)COLORRAM+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#1 = $28
Adding number conversion cast (unumber) $28 in conio_line_text = conio_line_text - $28
Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_color - $28
@ -697,16 +694,16 @@ Constant right-side identified [98] conio_c64_init::line#1 = (unumber)$19-1
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant gotoxy::y#0 = 0
Constant gotoxy::x#0 = 0
Constant memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
Constant memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Constant memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Constant memcpy::num#0 = (unumber)$19*$28-$28
Constant memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
Constant memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Constant memcpy::destination#1 = (void *)COLORRAM
Constant memcpy::source#1 = (void *)COLORRAM+$28
Constant memcpy::num#1 = (unumber)$19*$28-$28
Constant memset::str#0 = (void *)CONIO_SCREEN_TEXT+(unsigned int)$19*$28-$28
Constant memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant memset::c#0 = ' '
Constant memset::num#0 = $28
Constant memset::str#1 = (void *)CONIO_SCREEN_COLORS+(unsigned int)$19*$28-$28
Constant memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant memset::num#1 = $28
Constant gotoxy::x#1 = 0
Constant gotoxy::y#1 = 0
@ -719,7 +716,7 @@ Constant printf_str::putc#1 = &cputc
Constant printf_str::s#2 = world::s
Constant f1::fn#0 = &hello
Constant f1::fn#1 = &world
Constant conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
Constant conio_textcolor = LIGHT_BLUE
Constant conio_scroll_enable = 1
Successful SSA optimization Pass2ConstantIdentification
Constant memset::c#1 = conio_textcolor
@ -797,7 +794,6 @@ Inlining constant with var siblings f1::fn#1
Constant inlined memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant inlined memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant inlined f1::fn#1 = &world
Constant inlined CONIO_SCREEN_COLORS = COLORRAM
Constant inlined f1::fn#0 = &hello
Constant inlined printf_str::putc#0 = &cputc
Constant inlined conio_textcolor = LIGHT_BLUE
@ -812,12 +808,10 @@ Constant inlined memcpy::num#0 = (unsigned int)$19*$28-$28
Constant inlined conio_c64_init::line#1 = (char)$19-1
Constant inlined memcpy::source#1 = (void *)COLORRAM+$28
Constant inlined gotoxy::y#0 = 0
Constant inlined CONIO_SCREEN_TEXT = DEFAULT_SCREEN
Constant inlined printf_str::s#1 = hello::s
Constant inlined printf_str::s#2 = world::s
Constant inlined memset::c#0 = ' '
Constant inlined memset::c#1 = LIGHT_BLUE
Constant inlined CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
Successful SSA optimization Pass2ConstantInlining
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6

View File

@ -135,8 +135,8 @@ strlen::@return: scope:[strlen] from strlen::@3
void clrscr()
clrscr: scope:[clrscr] from main
clrscr::line_text#0 = CONIO_SCREEN_TEXT
clrscr::line_cols#0 = CONIO_SCREEN_COLORS
clrscr::line_text#0 = DEFAULT_SCREEN
clrscr::line_cols#0 = COLORRAM
clrscr::l#0 = 0
to:clrscr::@1
clrscr::@1: scope:[clrscr] from clrscr clrscr::@6
@ -155,8 +155,8 @@ clrscr::@2: scope:[clrscr] from clrscr::@1
clrscr::@3: scope:[clrscr] from clrscr::@1
conio_cursor_x = 0
conio_cursor_y = 0
conio_line_text = CONIO_SCREEN_TEXT
conio_line_color = CONIO_SCREEN_COLORS
conio_line_text = DEFAULT_SCREEN
conio_line_color = COLORRAM
to:clrscr::@return
clrscr::@4: scope:[clrscr] from clrscr::@2 clrscr::@5
clrscr::l#4 = phi( clrscr::@2/clrscr::l#5, clrscr::@5/clrscr::l#6 )
@ -213,9 +213,9 @@ gotoxy::@2: scope:[gotoxy] from gotoxy::@1 gotoxy::@4
conio_cursor_y = gotoxy::y#4
gotoxy::$7 = (unsigned int)gotoxy::y#4
gotoxy::line_offset#0 = gotoxy::$7 * $28
gotoxy::$5 = CONIO_SCREEN_TEXT + gotoxy::line_offset#0
gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0
conio_line_text = gotoxy::$5
gotoxy::$6 = CONIO_SCREEN_COLORS + gotoxy::line_offset#0
gotoxy::$6 = COLORRAM + gotoxy::line_offset#0
conio_line_color = gotoxy::$6
to:gotoxy::@return
gotoxy::@4: scope:[gotoxy] from gotoxy::@1
@ -281,28 +281,28 @@ cscroll::@1: scope:[cscroll] from cscroll
if(cscroll::$7) goto cscroll::@3
to:cscroll::@2
cscroll::@3: scope:[cscroll] from cscroll::@1
memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
memcpy::destination#0 = (void *)DEFAULT_SCREEN
memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
memcpy::num#0 = $19*$28-$28
call memcpy
memcpy::return#2 = memcpy::return#1
to:cscroll::@4
cscroll::@4: scope:[cscroll] from cscroll::@3
memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
memcpy::destination#1 = (void *)COLORRAM
memcpy::source#1 = (void *)COLORRAM+$28
memcpy::num#1 = $19*$28-$28
call memcpy
memcpy::return#3 = memcpy::return#1
to:cscroll::@5
cscroll::@5: scope:[cscroll] from cscroll::@4
memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
memset::c#0 = ' '
memset::num#0 = $28
call memset
memset::return#2 = memset::return#1
to:cscroll::@6
cscroll::@6: scope:[cscroll] from cscroll::@5
memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
memset::str#1 = (void *)COLORRAM+$19*$28-$28
memset::c#1 = conio_textcolor
memset::num#1 = $28
call memset
@ -560,9 +560,9 @@ __start: scope:[__start] from
__start::__init1: scope:[__start] from __start
conio_cursor_x = 0
conio_cursor_y = 0
conio_line_text = CONIO_SCREEN_TEXT
conio_line_color = CONIO_SCREEN_COLORS
conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
conio_line_text = DEFAULT_SCREEN
conio_line_color = COLORRAM
conio_textcolor = LIGHT_BLUE
conio_scroll_enable = 1
call conio_c64_init
to:__start::@2
@ -579,9 +579,6 @@ __start::@return: scope:[__start] from __start::@3
SYMBOL TABLE SSA
__constant char * const COLORRAM = (char *)$d800
__constant char * const CONIO_SCREEN_COLORS = COLORRAM
__constant char * const CONIO_SCREEN_TEXT = DEFAULT_SCREEN
__constant const char CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
__constant char * const DEFAULT_SCREEN = (char *)$400
__constant const char LIGHT_BLUE = $e
__constant char RADIX::BINARY = 2
@ -922,15 +919,15 @@ Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_col
Adding number conversion cast (unumber) 0 in conio_cursor_x = 0
Adding number conversion cast (unumber) $19 in cscroll::$0 = conio_cursor_y == $19
Adding number conversion cast (unumber) 0 in cscroll::$7 = 0 != conio_scroll_enable
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#0 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)COLORRAM+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#1 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#0 = $28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)COLORRAM+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)COLORRAM+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#1 = $28
Adding number conversion cast (unumber) $28 in conio_line_text = conio_line_text - $28
Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_color - $28
@ -1190,22 +1187,22 @@ Constant right-side identified [100] memcpy::num#1 = (unumber)$19*$28-$28
Constant right-side identified [127] conio_c64_init::line#1 = (unumber)$19-1
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant strlen::len#0 = 0
Constant clrscr::line_text#0 = CONIO_SCREEN_TEXT
Constant clrscr::line_cols#0 = CONIO_SCREEN_COLORS
Constant clrscr::line_text#0 = DEFAULT_SCREEN
Constant clrscr::line_cols#0 = COLORRAM
Constant clrscr::l#0 = 0
Constant clrscr::c#0 = 0
Constant gotoxy::y#0 = 0
Constant gotoxy::x#0 = 0
Constant memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
Constant memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Constant memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Constant memcpy::num#0 = (unumber)$19*$28-$28
Constant memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
Constant memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Constant memcpy::destination#1 = (void *)COLORRAM
Constant memcpy::source#1 = (void *)COLORRAM+$28
Constant memcpy::num#1 = (unumber)$19*$28-$28
Constant memset::str#0 = (void *)CONIO_SCREEN_TEXT+(unsigned int)$19*$28-$28
Constant memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant memset::c#0 = ' '
Constant memset::num#0 = $28
Constant memset::str#1 = (void *)CONIO_SCREEN_COLORS+(unsigned int)$19*$28-$28
Constant memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant memset::num#1 = $28
Constant gotoxy::x#1 = 0
Constant gotoxy::y#1 = 0
@ -1233,7 +1230,7 @@ Constant printf_string::putc#3 = &cputc
Constant printf_string::str#3 = main::str3
Constant printf_string::format_min_length#3 = $a
Constant printf_string::format_justify_left#3 = 1
Constant conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
Constant conio_textcolor = LIGHT_BLUE
Constant conio_scroll_enable = 1
Successful SSA optimization Pass2ConstantIdentification
Constant memset::c#1 = conio_textcolor
@ -1365,21 +1362,18 @@ Constant inlined printf_string::format_min_length#2 = $a
Constant inlined conio_c64_init::line#1 = (char)$19-1
Constant inlined memcpy::source#1 = (void *)COLORRAM+$28
Constant inlined printf_string::str#0 = main::str
Constant inlined CONIO_SCREEN_TEXT = DEFAULT_SCREEN
Constant inlined printf_string::str#3 = main::str1
Constant inlined printf_string::str#2 = main::str
Constant inlined printf_string::str#1 = main::str1
Constant inlined printf_string::putc#1 = &cputc
Constant inlined printf_string::putc#0 = &cputc
Constant inlined printf_string::putc#3 = &cputc
Constant inlined CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
Constant inlined printf_string::putc#2 = &cputc
Constant inlined memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant inlined printf_padding::pad#0 = ' '
Constant inlined memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant inlined printf_padding::i#0 = 0
Constant inlined printf_padding::pad#1 = ' '
Constant inlined CONIO_SCREEN_COLORS = COLORRAM
Constant inlined clrscr::line_text#0 = DEFAULT_SCREEN
Constant inlined memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Constant inlined memcpy::num#1 = (unsigned int)$19*$28-$28

View File

@ -778,8 +778,8 @@ ultoa_append::@return: scope:[ultoa_append] from ultoa_append::@3
void clrscr()
clrscr: scope:[clrscr] from main
clrscr::line_text#0 = CONIO_SCREEN_TEXT
clrscr::line_cols#0 = CONIO_SCREEN_COLORS
clrscr::line_text#0 = DEFAULT_SCREEN
clrscr::line_cols#0 = COLORRAM
clrscr::l#0 = 0
to:clrscr::@1
clrscr::@1: scope:[clrscr] from clrscr clrscr::@6
@ -798,8 +798,8 @@ clrscr::@2: scope:[clrscr] from clrscr::@1
clrscr::@3: scope:[clrscr] from clrscr::@1
conio_cursor_x = 0
conio_cursor_y = 0
conio_line_text = CONIO_SCREEN_TEXT
conio_line_color = CONIO_SCREEN_COLORS
conio_line_text = DEFAULT_SCREEN
conio_line_color = COLORRAM
to:clrscr::@return
clrscr::@4: scope:[clrscr] from clrscr::@2 clrscr::@5
clrscr::l#4 = phi( clrscr::@2/clrscr::l#5, clrscr::@5/clrscr::l#6 )
@ -856,9 +856,9 @@ gotoxy::@2: scope:[gotoxy] from gotoxy::@1 gotoxy::@4
conio_cursor_y = gotoxy::y#4
gotoxy::$7 = (unsigned int)gotoxy::y#4
gotoxy::line_offset#0 = gotoxy::$7 * $28
gotoxy::$5 = CONIO_SCREEN_TEXT + gotoxy::line_offset#0
gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0
conio_line_text = gotoxy::$5
gotoxy::$6 = CONIO_SCREEN_COLORS + gotoxy::line_offset#0
gotoxy::$6 = COLORRAM + gotoxy::line_offset#0
conio_line_color = gotoxy::$6
to:gotoxy::@return
gotoxy::@4: scope:[gotoxy] from gotoxy::@1
@ -924,28 +924,28 @@ cscroll::@1: scope:[cscroll] from cscroll
if(cscroll::$7) goto cscroll::@3
to:cscroll::@2
cscroll::@3: scope:[cscroll] from cscroll::@1
memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
memcpy::destination#0 = (void *)DEFAULT_SCREEN
memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
memcpy::num#0 = $19*$28-$28
call memcpy
memcpy::return#2 = memcpy::return#1
to:cscroll::@4
cscroll::@4: scope:[cscroll] from cscroll::@3
memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
memcpy::destination#1 = (void *)COLORRAM
memcpy::source#1 = (void *)COLORRAM+$28
memcpy::num#1 = $19*$28-$28
call memcpy
memcpy::return#3 = memcpy::return#1
to:cscroll::@5
cscroll::@5: scope:[cscroll] from cscroll::@4
memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
memset::c#0 = ' '
memset::num#0 = $28
call memset
memset::return#2 = memset::return#1
to:cscroll::@6
cscroll::@6: scope:[cscroll] from cscroll::@5
memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
memset::str#1 = (void *)COLORRAM+$19*$28-$28
memset::c#1 = conio_textcolor
memset::num#1 = $28
call memset
@ -1977,9 +1977,9 @@ __start: scope:[__start] from
__start::__init1: scope:[__start] from __start
conio_cursor_x = 0
conio_cursor_y = 0
conio_line_text = CONIO_SCREEN_TEXT
conio_line_color = CONIO_SCREEN_COLORS
conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
conio_line_text = DEFAULT_SCREEN
conio_line_color = COLORRAM
conio_textcolor = LIGHT_BLUE
conio_scroll_enable = 1
call conio_c64_init
to:__start::@2
@ -1997,9 +1997,6 @@ __start::@return: scope:[__start] from __start::@3
SYMBOL TABLE SSA
__constant char BINARY = 2
__constant char * const COLORRAM = (char *)$d800
__constant char * const CONIO_SCREEN_COLORS = COLORRAM
__constant char * const CONIO_SCREEN_TEXT = DEFAULT_SCREEN
__constant const char CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
__constant char DECIMAL = $a
__constant char * const DEFAULT_SCREEN = (char *)$400
__constant char DIGITS[] = "0123456789abcdef"z
@ -3453,15 +3450,15 @@ Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_col
Adding number conversion cast (unumber) 0 in conio_cursor_x = 0
Adding number conversion cast (unumber) $19 in cscroll::$0 = conio_cursor_y == $19
Adding number conversion cast (unumber) 0 in cscroll::$7 = 0 != conio_scroll_enable
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#0 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)COLORRAM+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#1 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#0 = $28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)COLORRAM+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)COLORRAM+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#1 = $28
Adding number conversion cast (unumber) $28 in conio_line_text = conio_line_text - $28
Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_color - $28
@ -4310,22 +4307,22 @@ Constant uctoa::started#1 = 1
Constant uctoa_append::digit#0 = 0
Constant utoa_append::digit#0 = 0
Constant ultoa_append::digit#0 = 0
Constant clrscr::line_text#0 = CONIO_SCREEN_TEXT
Constant clrscr::line_cols#0 = CONIO_SCREEN_COLORS
Constant clrscr::line_text#0 = DEFAULT_SCREEN
Constant clrscr::line_cols#0 = COLORRAM
Constant clrscr::l#0 = 0
Constant clrscr::c#0 = 0
Constant gotoxy::y#0 = 0
Constant gotoxy::x#0 = 0
Constant memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
Constant memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Constant memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Constant memcpy::num#0 = (unumber)$19*$28-$28
Constant memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
Constant memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Constant memcpy::destination#1 = (void *)COLORRAM
Constant memcpy::source#1 = (void *)COLORRAM+$28
Constant memcpy::num#1 = (unumber)$19*$28-$28
Constant memset::str#0 = (void *)CONIO_SCREEN_TEXT+(unsigned int)$19*$28-$28
Constant memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant memset::c#0 = ' '
Constant memset::num#0 = $28
Constant memset::str#1 = (void *)CONIO_SCREEN_COLORS+(unsigned int)$19*$28-$28
Constant memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant memset::num#1 = $28
Constant gotoxy::x#1 = 0
Constant gotoxy::y#1 = 0
@ -4448,7 +4445,7 @@ Constant printf_ulong::format_upper_case#0 = 0
Constant printf_ulong::format_radix#0 = DECIMAL
Constant printf_str::putc#18 = &cputc
Constant printf_str::s#19 = main::s17
Constant conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
Constant conio_textcolor = LIGHT_BLUE
Constant conio_scroll_enable = 1
Successful SSA optimization Pass2ConstantIdentification
Constant memset::c#1 = conio_textcolor
@ -4883,7 +4880,6 @@ Constant inlined printf_str::s#5 = main::s1
Constant inlined printf_str::s#6 = main::s4
Constant inlined printf_str::s#3 = main::s1
Constant inlined printf_str::s#4 = main::s2
Constant inlined CONIO_SCREEN_TEXT = DEFAULT_SCREEN
Constant inlined printf_str::s#2 = main::s
Constant inlined uctoa::digit#0 = 0
Constant inlined clrscr::line_text#0 = DEFAULT_SCREEN
@ -4922,7 +4918,6 @@ Constant inlined printf_number_buffer::format_min_length#1 = printf_ulong::forma
Constant inlined uctoa::max_digits#2 = 2
Constant inlined printf_uint::format_upper_case#0 = 0
Constant inlined printf_number_buffer::format_min_length#2 = printf_sint::format_min_length#0
Constant inlined CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
Constant inlined uctoa::max_digits#4 = 8
Constant inlined printf_padding::pad#0 = ' '
Constant inlined printf_padding::i#0 = 0
@ -5025,7 +5020,6 @@ Constant inlined printf_number_buffer::format_zero_padding#4 = printf_schar::for
Constant inlined memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant inlined printf_number_buffer::format_zero_padding#1 = printf_ulong::format_zero_padding#0
Constant inlined memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant inlined CONIO_SCREEN_COLORS = COLORRAM
Constant inlined printf_number_buffer::format_zero_padding#2 = printf_sint::format_zero_padding#0
Constant inlined printf_uint::$1 = '+'
Constant inlined printf_schar::value#1 = main::sc

View File

@ -368,8 +368,8 @@ uctoa_append::@return: scope:[uctoa_append] from uctoa_append::@3
void clrscr()
clrscr: scope:[clrscr] from main
clrscr::line_text#0 = CONIO_SCREEN_TEXT
clrscr::line_cols#0 = CONIO_SCREEN_COLORS
clrscr::line_text#0 = DEFAULT_SCREEN
clrscr::line_cols#0 = COLORRAM
clrscr::l#0 = 0
to:clrscr::@1
clrscr::@1: scope:[clrscr] from clrscr clrscr::@6
@ -388,8 +388,8 @@ clrscr::@2: scope:[clrscr] from clrscr::@1
clrscr::@3: scope:[clrscr] from clrscr::@1
conio_cursor_x = 0
conio_cursor_y = 0
conio_line_text = CONIO_SCREEN_TEXT
conio_line_color = CONIO_SCREEN_COLORS
conio_line_text = DEFAULT_SCREEN
conio_line_color = COLORRAM
to:clrscr::@return
clrscr::@4: scope:[clrscr] from clrscr::@2 clrscr::@5
clrscr::l#4 = phi( clrscr::@2/clrscr::l#5, clrscr::@5/clrscr::l#6 )
@ -446,9 +446,9 @@ gotoxy::@2: scope:[gotoxy] from gotoxy::@1 gotoxy::@4
conio_cursor_y = gotoxy::y#4
gotoxy::$7 = (unsigned int)gotoxy::y#4
gotoxy::line_offset#0 = gotoxy::$7 * $28
gotoxy::$5 = CONIO_SCREEN_TEXT + gotoxy::line_offset#0
gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0
conio_line_text = gotoxy::$5
gotoxy::$6 = CONIO_SCREEN_COLORS + gotoxy::line_offset#0
gotoxy::$6 = COLORRAM + gotoxy::line_offset#0
conio_line_color = gotoxy::$6
to:gotoxy::@return
gotoxy::@4: scope:[gotoxy] from gotoxy::@1
@ -514,28 +514,28 @@ cscroll::@1: scope:[cscroll] from cscroll
if(cscroll::$7) goto cscroll::@3
to:cscroll::@2
cscroll::@3: scope:[cscroll] from cscroll::@1
memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
memcpy::destination#0 = (void *)DEFAULT_SCREEN
memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
memcpy::num#0 = $19*$28-$28
call memcpy
memcpy::return#2 = memcpy::return#1
to:cscroll::@4
cscroll::@4: scope:[cscroll] from cscroll::@3
memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
memcpy::destination#1 = (void *)COLORRAM
memcpy::source#1 = (void *)COLORRAM+$28
memcpy::num#1 = $19*$28-$28
call memcpy
memcpy::return#3 = memcpy::return#1
to:cscroll::@5
cscroll::@5: scope:[cscroll] from cscroll::@4
memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
memset::c#0 = ' '
memset::num#0 = $28
call memset
memset::return#2 = memset::return#1
to:cscroll::@6
cscroll::@6: scope:[cscroll] from cscroll::@5
memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
memset::str#1 = (void *)COLORRAM+$19*$28-$28
memset::c#1 = conio_textcolor
memset::num#1 = $28
call memset
@ -979,9 +979,9 @@ __start: scope:[__start] from
__start::__init1: scope:[__start] from __start
conio_cursor_x = 0
conio_cursor_y = 0
conio_line_text = CONIO_SCREEN_TEXT
conio_line_color = CONIO_SCREEN_COLORS
conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
conio_line_text = DEFAULT_SCREEN
conio_line_color = COLORRAM
conio_textcolor = LIGHT_BLUE
conio_scroll_enable = 1
call conio_c64_init
to:__start::@2
@ -999,9 +999,6 @@ __start::@return: scope:[__start] from __start::@3
SYMBOL TABLE SSA
__constant char BINARY = 2
__constant char * const COLORRAM = (char *)$d800
__constant char * const CONIO_SCREEN_COLORS = COLORRAM
__constant char * const CONIO_SCREEN_TEXT = DEFAULT_SCREEN
__constant const char CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
__constant char DECIMAL = $a
__constant char * const DEFAULT_SCREEN = (char *)$400
__constant char DIGITS[] = "0123456789abcdef"z
@ -1694,15 +1691,15 @@ Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_col
Adding number conversion cast (unumber) 0 in conio_cursor_x = 0
Adding number conversion cast (unumber) $19 in cscroll::$0 = conio_cursor_y == $19
Adding number conversion cast (unumber) 0 in cscroll::$7 = 0 != conio_scroll_enable
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#0 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)COLORRAM+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#1 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#0 = $28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)COLORRAM+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)COLORRAM+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#1 = $28
Adding number conversion cast (unumber) $28 in conio_line_text = conio_line_text - $28
Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_color - $28
@ -2170,22 +2167,22 @@ Constant uctoa::started#0 = 0
Constant uctoa::digit#0 = 0
Constant uctoa::started#1 = 1
Constant uctoa_append::digit#0 = 0
Constant clrscr::line_text#0 = CONIO_SCREEN_TEXT
Constant clrscr::line_cols#0 = CONIO_SCREEN_COLORS
Constant clrscr::line_text#0 = DEFAULT_SCREEN
Constant clrscr::line_cols#0 = COLORRAM
Constant clrscr::l#0 = 0
Constant clrscr::c#0 = 0
Constant gotoxy::y#0 = 0
Constant gotoxy::x#0 = 0
Constant memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
Constant memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Constant memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Constant memcpy::num#0 = (unumber)$19*$28-$28
Constant memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
Constant memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Constant memcpy::destination#1 = (void *)COLORRAM
Constant memcpy::source#1 = (void *)COLORRAM+$28
Constant memcpy::num#1 = (unumber)$19*$28-$28
Constant memset::str#0 = (void *)CONIO_SCREEN_TEXT+(unsigned int)$19*$28-$28
Constant memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant memset::c#0 = ' '
Constant memset::num#0 = $28
Constant memset::str#1 = (void *)CONIO_SCREEN_COLORS+(unsigned int)$19*$28-$28
Constant memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant memset::num#1 = $28
Constant gotoxy::x#1 = 0
Constant gotoxy::y#1 = 0
@ -2210,7 +2207,7 @@ Constant printf_uchar::format_sign_always#0 = 0
Constant printf_uchar::format_zero_padding#0 = 0
Constant printf_uchar::format_upper_case#0 = 0
Constant printf_uchar::format_radix#0 = DECIMAL
Constant conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
Constant conio_textcolor = LIGHT_BLUE
Constant conio_scroll_enable = 1
Successful SSA optimization Pass2ConstantIdentification
Constant memset::c#1 = conio_textcolor
@ -2532,13 +2529,10 @@ Constant inlined memset::num#0 = $28
Constant inlined clrscr::l#0 = 0
Constant inlined conio_c64_init::line#1 = (char)$19-1
Constant inlined memcpy::source#1 = (void *)COLORRAM+$28
Constant inlined CONIO_SCREEN_TEXT = DEFAULT_SCREEN
Constant inlined printf_str::s#1 = printf_number_buffer::buffer_digits#0
Constant inlined CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
Constant inlined memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant inlined uctoa::digit#0 = 0
Constant inlined memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant inlined CONIO_SCREEN_COLORS = COLORRAM
Constant inlined clrscr::line_text#0 = DEFAULT_SCREEN
Constant inlined memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Constant inlined uctoa::buffer#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS

View File

@ -104,8 +104,8 @@ memset::@return: scope:[memset] from memset::@1
void clrscr()
clrscr: scope:[clrscr] from main
clrscr::line_text#0 = CONIO_SCREEN_TEXT
clrscr::line_cols#0 = CONIO_SCREEN_COLORS
clrscr::line_text#0 = DEFAULT_SCREEN
clrscr::line_cols#0 = COLORRAM
clrscr::l#0 = 0
to:clrscr::@1
clrscr::@1: scope:[clrscr] from clrscr clrscr::@6
@ -124,8 +124,8 @@ clrscr::@2: scope:[clrscr] from clrscr::@1
clrscr::@3: scope:[clrscr] from clrscr::@1
conio_cursor_x = 0
conio_cursor_y = 0
conio_line_text = CONIO_SCREEN_TEXT
conio_line_color = CONIO_SCREEN_COLORS
conio_line_text = DEFAULT_SCREEN
conio_line_color = COLORRAM
to:clrscr::@return
clrscr::@4: scope:[clrscr] from clrscr::@2 clrscr::@5
clrscr::l#4 = phi( clrscr::@2/clrscr::l#5, clrscr::@5/clrscr::l#6 )
@ -182,9 +182,9 @@ gotoxy::@2: scope:[gotoxy] from gotoxy::@1 gotoxy::@4
conio_cursor_y = gotoxy::y#4
gotoxy::$7 = (unsigned int)gotoxy::y#4
gotoxy::line_offset#0 = gotoxy::$7 * $28
gotoxy::$5 = CONIO_SCREEN_TEXT + gotoxy::line_offset#0
gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0
conio_line_text = gotoxy::$5
gotoxy::$6 = CONIO_SCREEN_COLORS + gotoxy::line_offset#0
gotoxy::$6 = COLORRAM + gotoxy::line_offset#0
conio_line_color = gotoxy::$6
to:gotoxy::@return
gotoxy::@4: scope:[gotoxy] from gotoxy::@1
@ -250,28 +250,28 @@ cscroll::@1: scope:[cscroll] from cscroll
if(cscroll::$7) goto cscroll::@3
to:cscroll::@2
cscroll::@3: scope:[cscroll] from cscroll::@1
memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
memcpy::destination#0 = (void *)DEFAULT_SCREEN
memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
memcpy::num#0 = $19*$28-$28
call memcpy
memcpy::return#2 = memcpy::return#1
to:cscroll::@4
cscroll::@4: scope:[cscroll] from cscroll::@3
memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
memcpy::destination#1 = (void *)COLORRAM
memcpy::source#1 = (void *)COLORRAM+$28
memcpy::num#1 = $19*$28-$28
call memcpy
memcpy::return#3 = memcpy::return#1
to:cscroll::@5
cscroll::@5: scope:[cscroll] from cscroll::@4
memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
memset::c#0 = ' '
memset::num#0 = $28
call memset
memset::return#2 = memset::return#1
to:cscroll::@6
cscroll::@6: scope:[cscroll] from cscroll::@5
memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
memset::str#1 = (void *)COLORRAM+$19*$28-$28
memset::c#1 = conio_textcolor
memset::num#1 = $28
call memset
@ -368,9 +368,9 @@ __start: scope:[__start] from
__start::__init1: scope:[__start] from __start
conio_cursor_x = 0
conio_cursor_y = 0
conio_line_text = CONIO_SCREEN_TEXT
conio_line_color = CONIO_SCREEN_COLORS
conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
conio_line_text = DEFAULT_SCREEN
conio_line_color = COLORRAM
conio_textcolor = LIGHT_BLUE
conio_scroll_enable = 1
call conio_c64_init
to:__start::@2
@ -387,9 +387,6 @@ __start::@return: scope:[__start] from __start::@3
SYMBOL TABLE SSA
__constant char * const COLORRAM = (char *)$d800
__constant char * const CONIO_SCREEN_COLORS = COLORRAM
__constant char * const CONIO_SCREEN_TEXT = DEFAULT_SCREEN
__constant const char CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
__constant char * const DEFAULT_SCREEN = (char *)$400
__constant const char LIGHT_BLUE = $e
__constant char RADIX::BINARY = 2
@ -605,15 +602,15 @@ Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_col
Adding number conversion cast (unumber) 0 in conio_cursor_x = 0
Adding number conversion cast (unumber) $19 in cscroll::$0 = conio_cursor_y == $19
Adding number conversion cast (unumber) 0 in cscroll::$7 = 0 != conio_scroll_enable
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#0 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)COLORRAM+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#1 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#0 = $28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)COLORRAM+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)COLORRAM+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#1 = $28
Adding number conversion cast (unumber) $28 in conio_line_text = conio_line_text - $28
Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_color - $28
@ -781,22 +778,22 @@ Constant right-side identified [87] memcpy::num#0 = (unumber)$19*$28-$28
Constant right-side identified [92] memcpy::num#1 = (unumber)$19*$28-$28
Constant right-side identified [119] conio_c64_init::line#1 = (unumber)$19-1
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant clrscr::line_text#0 = CONIO_SCREEN_TEXT
Constant clrscr::line_cols#0 = CONIO_SCREEN_COLORS
Constant clrscr::line_text#0 = DEFAULT_SCREEN
Constant clrscr::line_cols#0 = COLORRAM
Constant clrscr::l#0 = 0
Constant clrscr::c#0 = 0
Constant gotoxy::y#0 = 0
Constant gotoxy::x#0 = 0
Constant memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
Constant memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Constant memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Constant memcpy::num#0 = (unumber)$19*$28-$28
Constant memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
Constant memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Constant memcpy::destination#1 = (void *)COLORRAM
Constant memcpy::source#1 = (void *)COLORRAM+$28
Constant memcpy::num#1 = (unumber)$19*$28-$28
Constant memset::str#0 = (void *)CONIO_SCREEN_TEXT+(unsigned int)$19*$28-$28
Constant memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant memset::c#0 = ' '
Constant memset::num#0 = $28
Constant memset::str#1 = (void *)CONIO_SCREEN_COLORS+(unsigned int)$19*$28-$28
Constant memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant memset::num#1 = $28
Constant gotoxy::x#1 = 0
Constant gotoxy::y#1 = 0
@ -807,7 +804,7 @@ Constant printf_str::putc#0 = &cputc
Constant printf_str::s#1 = main::s
Constant printf_str::putc#1 = &cputc
Constant printf_str::s#2 = main::s1
Constant conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
Constant conio_textcolor = LIGHT_BLUE
Constant conio_scroll_enable = 1
Successful SSA optimization Pass2ConstantIdentification
Constant memset::c#1 = conio_textcolor
@ -884,6 +881,9 @@ Inlining constant with var siblings printf_str::putc#0
Inlining constant with var siblings printf_str::s#1
Inlining constant with var siblings printf_str::putc#1
Inlining constant with var siblings printf_str::s#2
Constant inlined memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant inlined memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant inlined clrscr::line_text#0 = DEFAULT_SCREEN
Constant inlined printf_str::putc#0 = &cputc
Constant inlined conio_textcolor = LIGHT_BLUE
Constant inlined printf_str::putc#1 = &cputc
@ -891,21 +891,15 @@ Constant inlined memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant inlined memset::num#1 = $28
Constant inlined memcpy::destination#1 = (void *)COLORRAM
Constant inlined memset::num#0 = $28
Constant inlined clrscr::l#0 = 0
Constant inlined conio_c64_init::line#1 = (char)$19-1
Constant inlined memcpy::source#1 = (void *)COLORRAM+$28
Constant inlined CONIO_SCREEN_TEXT = DEFAULT_SCREEN
Constant inlined printf_str::s#1 = main::s
Constant inlined printf_str::s#2 = main::s1
Constant inlined CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
Constant inlined memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant inlined memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant inlined CONIO_SCREEN_COLORS = COLORRAM
Constant inlined clrscr::line_text#0 = DEFAULT_SCREEN
Constant inlined memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Constant inlined clrscr::l#0 = 0
Constant inlined memcpy::num#1 = (unsigned int)$19*$28-$28
Constant inlined memcpy::num#0 = (unsigned int)$19*$28-$28
Constant inlined conio_c64_init::line#1 = (char)$19-1
Constant inlined memcpy::source#1 = (void *)COLORRAM+$28
Constant inlined gotoxy::y#0 = 0
Constant inlined printf_str::s#1 = main::s
Constant inlined printf_str::s#2 = main::s1
Constant inlined memset::c#0 = ' '
Constant inlined memset::c#1 = LIGHT_BLUE
Constant inlined clrscr::c#0 = 0

View File

@ -174,9 +174,9 @@ gotoxy::@2: scope:[gotoxy] from gotoxy::@1 gotoxy::@4
conio_cursor_y = gotoxy::y#4
gotoxy::$7 = (unsigned int)gotoxy::y#4
gotoxy::line_offset#0 = gotoxy::$7 * $28
gotoxy::$5 = CONIO_SCREEN_TEXT + gotoxy::line_offset#0
gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0
conio_line_text = gotoxy::$5
gotoxy::$6 = CONIO_SCREEN_COLORS + gotoxy::line_offset#0
gotoxy::$6 = COLORRAM + gotoxy::line_offset#0
conio_line_color = gotoxy::$6
to:gotoxy::@return
gotoxy::@4: scope:[gotoxy] from gotoxy::@1
@ -242,28 +242,28 @@ cscroll::@1: scope:[cscroll] from cscroll
if(cscroll::$7) goto cscroll::@3
to:cscroll::@2
cscroll::@3: scope:[cscroll] from cscroll::@1
memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
memcpy::destination#0 = (void *)DEFAULT_SCREEN
memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
memcpy::num#0 = $19*$28-$28
call memcpy
memcpy::return#2 = memcpy::return#1
to:cscroll::@4
cscroll::@4: scope:[cscroll] from cscroll::@3
memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
memcpy::destination#1 = (void *)COLORRAM
memcpy::source#1 = (void *)COLORRAM+$28
memcpy::num#1 = $19*$28-$28
call memcpy
memcpy::return#3 = memcpy::return#1
to:cscroll::@5
cscroll::@5: scope:[cscroll] from cscroll::@4
memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
memset::c#0 = ' '
memset::num#0 = $28
call memset
memset::return#2 = memset::return#1
to:cscroll::@6
cscroll::@6: scope:[cscroll] from cscroll::@5
memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
memset::str#1 = (void *)COLORRAM+$19*$28-$28
memset::c#1 = conio_textcolor
memset::num#1 = $28
call memset
@ -584,9 +584,9 @@ __start: scope:[__start] from
__start::__init1: scope:[__start] from __start
conio_cursor_x = 0
conio_cursor_y = 0
conio_line_text = CONIO_SCREEN_TEXT
conio_line_color = CONIO_SCREEN_COLORS
conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
conio_line_text = DEFAULT_SCREEN
conio_line_color = COLORRAM
conio_textcolor = LIGHT_BLUE
conio_scroll_enable = 1
__snprintf_capacity = 0
__snprintf_size = 0
@ -608,9 +608,6 @@ SYMBOL TABLE SSA
__constant char BUF1[$14] = { fill( $14, 0) }
__constant char BUF2[$14] = { fill( $14, 0) }
__constant char * const COLORRAM = (char *)$d800
__constant char * const CONIO_SCREEN_COLORS = COLORRAM
__constant char * const CONIO_SCREEN_TEXT = DEFAULT_SCREEN
__constant const char CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
__constant char * const DEFAULT_SCREEN = (char *)$400
__constant const char LIGHT_BLUE = $e
__constant char RADIX::BINARY = 2
@ -944,15 +941,15 @@ Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_col
Adding number conversion cast (unumber) 0 in conio_cursor_x = 0
Adding number conversion cast (unumber) $19 in cscroll::$0 = conio_cursor_y == $19
Adding number conversion cast (unumber) 0 in cscroll::$7 = 0 != conio_scroll_enable
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#0 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)COLORRAM+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#1 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#0 = $28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)COLORRAM+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)COLORRAM+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#1 = $28
Adding number conversion cast (unumber) $28 in conio_line_text = conio_line_text - $28
Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_color - $28
@ -1175,16 +1172,16 @@ Successful SSA optimization Pass2ConstantRValueConsolidation
Constant strlen::len#0 = 0
Constant gotoxy::y#0 = 0
Constant gotoxy::x#0 = 0
Constant memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
Constant memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Constant memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Constant memcpy::num#0 = (unumber)$19*$28-$28
Constant memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
Constant memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Constant memcpy::destination#1 = (void *)COLORRAM
Constant memcpy::source#1 = (void *)COLORRAM+$28
Constant memcpy::num#1 = (unumber)$19*$28-$28
Constant memset::str#0 = (void *)CONIO_SCREEN_TEXT+(unsigned int)$19*$28-$28
Constant memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant memset::c#0 = ' '
Constant memset::num#0 = $28
Constant memset::str#1 = (void *)CONIO_SCREEN_COLORS+(unsigned int)$19*$28-$28
Constant memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant memset::num#1 = $28
Constant gotoxy::x#1 = 0
Constant gotoxy::y#1 = 0
@ -1223,7 +1220,7 @@ Constant printf_string::format_min_length#2 = 0
Constant printf_string::format_justify_left#2 = 0
Constant printf_str::putc#5 = &cputc
Constant printf_str::s#6 = main::s4
Constant conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
Constant conio_textcolor = LIGHT_BLUE
Constant conio_scroll_enable = 1
Successful SSA optimization Pass2ConstantIdentification
Constant memset::c#1 = conio_textcolor
@ -1362,7 +1359,6 @@ Constant inlined printf_str::putc#5 = &cputc
Constant inlined printf_str::s#3 = main::s1
Constant inlined snputc::c#1 = 0
Constant inlined printf_str::s#4 = main::s2
Constant inlined CONIO_SCREEN_TEXT = DEFAULT_SCREEN
Constant inlined printf_str::s#2 = main::s
Constant inlined printf_string::putc#1 = &cputc
Constant inlined printf_string::putc#0 = &snputc
@ -1381,13 +1377,11 @@ Constant inlined memcpy::source#1 = (void *)COLORRAM+$28
Constant inlined printf_string::str#0 = main::str
Constant inlined printf_string::str#2 = BUF2
Constant inlined printf_string::str#1 = BUF1
Constant inlined CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
Constant inlined memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant inlined printf_padding::pad#0 = ' '
Constant inlined memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant inlined printf_padding::i#0 = 0
Constant inlined printf_padding::pad#1 = ' '
Constant inlined CONIO_SCREEN_COLORS = COLORRAM
Constant inlined main::s4 = main::s2
Constant inlined memcpy::num#1 = (unsigned int)$19*$28-$28
Constant inlined memcpy::num#0 = (unsigned int)$19*$28-$28

View File

@ -373,8 +373,8 @@ uctoa_append::@return: scope:[uctoa_append] from uctoa_append::@3
void clrscr()
clrscr: scope:[clrscr] from main
clrscr::line_text#0 = CONIO_SCREEN_TEXT
clrscr::line_cols#0 = CONIO_SCREEN_COLORS
clrscr::line_text#0 = DEFAULT_SCREEN
clrscr::line_cols#0 = COLORRAM
clrscr::l#0 = 0
to:clrscr::@1
clrscr::@1: scope:[clrscr] from clrscr clrscr::@6
@ -393,8 +393,8 @@ clrscr::@2: scope:[clrscr] from clrscr::@1
clrscr::@3: scope:[clrscr] from clrscr::@1
conio_cursor_x = 0
conio_cursor_y = 0
conio_line_text = CONIO_SCREEN_TEXT
conio_line_color = CONIO_SCREEN_COLORS
conio_line_text = DEFAULT_SCREEN
conio_line_color = COLORRAM
to:clrscr::@return
clrscr::@4: scope:[clrscr] from clrscr::@2 clrscr::@5
clrscr::l#4 = phi( clrscr::@2/clrscr::l#5, clrscr::@5/clrscr::l#6 )
@ -451,9 +451,9 @@ gotoxy::@2: scope:[gotoxy] from gotoxy::@1 gotoxy::@4
conio_cursor_y = gotoxy::y#4
gotoxy::$7 = (unsigned int)gotoxy::y#4
gotoxy::line_offset#0 = gotoxy::$7 * $28
gotoxy::$5 = CONIO_SCREEN_TEXT + gotoxy::line_offset#0
gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0
conio_line_text = gotoxy::$5
gotoxy::$6 = CONIO_SCREEN_COLORS + gotoxy::line_offset#0
gotoxy::$6 = COLORRAM + gotoxy::line_offset#0
conio_line_color = gotoxy::$6
to:gotoxy::@return
gotoxy::@4: scope:[gotoxy] from gotoxy::@1
@ -519,28 +519,28 @@ cscroll::@1: scope:[cscroll] from cscroll
if(cscroll::$7) goto cscroll::@3
to:cscroll::@2
cscroll::@3: scope:[cscroll] from cscroll::@1
memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
memcpy::destination#0 = (void *)DEFAULT_SCREEN
memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
memcpy::num#0 = $19*$28-$28
call memcpy
memcpy::return#2 = memcpy::return#1
to:cscroll::@4
cscroll::@4: scope:[cscroll] from cscroll::@3
memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
memcpy::destination#1 = (void *)COLORRAM
memcpy::source#1 = (void *)COLORRAM+$28
memcpy::num#1 = $19*$28-$28
call memcpy
memcpy::return#3 = memcpy::return#1
to:cscroll::@5
cscroll::@5: scope:[cscroll] from cscroll::@4
memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
memset::c#0 = ' '
memset::num#0 = $28
call memset
memset::return#2 = memset::return#1
to:cscroll::@6
cscroll::@6: scope:[cscroll] from cscroll::@5
memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
memset::str#1 = (void *)COLORRAM+$19*$28-$28
memset::c#1 = conio_textcolor
memset::num#1 = $28
call memset
@ -1019,9 +1019,9 @@ __start: scope:[__start] from
__start::__init1: scope:[__start] from __start
conio_cursor_x = 0
conio_cursor_y = 0
conio_line_text = CONIO_SCREEN_TEXT
conio_line_color = CONIO_SCREEN_COLORS
conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
conio_line_text = DEFAULT_SCREEN
conio_line_color = COLORRAM
conio_textcolor = LIGHT_BLUE
conio_scroll_enable = 1
call conio_c64_init
to:__start::@2
@ -1039,9 +1039,6 @@ __start::@return: scope:[__start] from __start::@3
SYMBOL TABLE SSA
__constant char BINARY = 2
__constant char * const COLORRAM = (char *)$d800
__constant char * const CONIO_SCREEN_COLORS = COLORRAM
__constant char * const CONIO_SCREEN_TEXT = DEFAULT_SCREEN
__constant const char CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
__constant char DECIMAL = $a
__constant char * const DEFAULT_SCREEN = (char *)$400
__constant char DIGITS[] = "0123456789abcdef"z
@ -1761,15 +1758,15 @@ Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_col
Adding number conversion cast (unumber) 0 in conio_cursor_x = 0
Adding number conversion cast (unumber) $19 in cscroll::$0 = conio_cursor_y == $19
Adding number conversion cast (unumber) 0 in cscroll::$7 = 0 != conio_scroll_enable
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#0 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)COLORRAM+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#1 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#0 = $28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)COLORRAM+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)COLORRAM+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#1 = $28
Adding number conversion cast (unumber) $28 in conio_line_text = conio_line_text - $28
Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_color - $28
@ -2232,22 +2229,22 @@ Constant uctoa::started#0 = 0
Constant uctoa::digit#0 = 0
Constant uctoa::started#1 = 1
Constant uctoa_append::digit#0 = 0
Constant clrscr::line_text#0 = CONIO_SCREEN_TEXT
Constant clrscr::line_cols#0 = CONIO_SCREEN_COLORS
Constant clrscr::line_text#0 = DEFAULT_SCREEN
Constant clrscr::line_cols#0 = COLORRAM
Constant clrscr::l#0 = 0
Constant clrscr::c#0 = 0
Constant gotoxy::y#0 = 0
Constant gotoxy::x#0 = 0
Constant memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
Constant memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Constant memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Constant memcpy::num#0 = (unumber)$19*$28-$28
Constant memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
Constant memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Constant memcpy::destination#1 = (void *)COLORRAM
Constant memcpy::source#1 = (void *)COLORRAM+$28
Constant memcpy::num#1 = (unumber)$19*$28-$28
Constant memset::str#0 = (void *)CONIO_SCREEN_TEXT+(unsigned int)$19*$28-$28
Constant memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant memset::c#0 = ' '
Constant memset::num#0 = $28
Constant memset::str#1 = (void *)CONIO_SCREEN_COLORS+(unsigned int)$19*$28-$28
Constant memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant memset::num#1 = $28
Constant gotoxy::x#1 = 0
Constant gotoxy::y#1 = 0
@ -2283,7 +2280,7 @@ Constant printf_uchar::format_upper_case#1 = 0
Constant printf_uchar::format_radix#1 = DECIMAL
Constant printf_str::putc#2 = &cputc
Constant printf_str::s#3 = main::s1
Constant conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
Constant conio_textcolor = LIGHT_BLUE
Constant conio_scroll_enable = 1
Successful SSA optimization Pass2ConstantIdentification
Constant memset::c#1 = conio_textcolor
@ -2480,7 +2477,6 @@ Constant inlined memset::num#0 = $28
Constant inlined clrscr::l#0 = 0
Constant inlined strlen::len#0 = 0
Constant inlined printf_str::s#3 = main::s1
Constant inlined CONIO_SCREEN_TEXT = DEFAULT_SCREEN
Constant inlined printf_str::s#1 = printf_number_buffer::buffer_digits#0
Constant inlined printf_str::s#2 = main::s
Constant inlined printf_number_buffer::padding#2 = 0
@ -2517,7 +2513,6 @@ Constant inlined main::i#0 = 0
Constant inlined uctoa::max_digits#3 = 3
Constant inlined uctoa::max_digits#2 = 2
Constant inlined strupr::str#0 = printf_number_buffer::buffer_digits#0
Constant inlined CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
Constant inlined uctoa::max_digits#4 = 8
Constant inlined uctoa::buffer#1 = ++++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
@ -2527,7 +2522,6 @@ Constant inlined memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$2
Constant inlined printf_padding::i#0 = 0
Constant inlined printf_padding::pad#1 = '0'
Constant inlined printf_uchar::format_zero_padding#1 = 0
Constant inlined CONIO_SCREEN_COLORS = COLORRAM
Constant inlined uctoa::buffer#0 = ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined printf_padding::pad#2 = ' '
Constant inlined printf_uchar::format_zero_padding#0 = 0

View File

@ -542,9 +542,9 @@ gotoxy::@2: scope:[gotoxy] from gotoxy::@1 gotoxy::@4
conio_cursor_y = gotoxy::y#4
gotoxy::$7 = (unsigned int)gotoxy::y#4
gotoxy::line_offset#0 = gotoxy::$7 * $28
gotoxy::$5 = CONIO_SCREEN_TEXT + gotoxy::line_offset#0
gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0
conio_line_text = gotoxy::$5
gotoxy::$6 = CONIO_SCREEN_COLORS + gotoxy::line_offset#0
gotoxy::$6 = COLORRAM + gotoxy::line_offset#0
conio_line_color = gotoxy::$6
to:gotoxy::@return
gotoxy::@4: scope:[gotoxy] from gotoxy::@1
@ -623,28 +623,28 @@ cscroll::@1: scope:[cscroll] from cscroll
if(cscroll::$7) goto cscroll::@3
to:cscroll::@2
cscroll::@3: scope:[cscroll] from cscroll::@1
memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
memcpy::destination#0 = (void *)DEFAULT_SCREEN
memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
memcpy::num#0 = $19*$28-$28
call memcpy
memcpy::return#2 = memcpy::return#1
to:cscroll::@4
cscroll::@4: scope:[cscroll] from cscroll::@3
memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
memcpy::destination#1 = (void *)COLORRAM
memcpy::source#1 = (void *)COLORRAM+$28
memcpy::num#1 = $19*$28-$28
call memcpy
memcpy::return#3 = memcpy::return#1
to:cscroll::@5
cscroll::@5: scope:[cscroll] from cscroll::@4
memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
memset::c#0 = ' '
memset::num#0 = $28
call memset
memset::return#2 = memset::return#1
to:cscroll::@6
cscroll::@6: scope:[cscroll] from cscroll::@5
memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
memset::str#1 = (void *)COLORRAM+$19*$28-$28
memset::c#1 = conio_textcolor
memset::num#1 = $28
call memset
@ -1590,9 +1590,9 @@ __start: scope:[__start] from
__start::__init1: scope:[__start] from __start
conio_cursor_x = 0
conio_cursor_y = 0
conio_line_text = CONIO_SCREEN_TEXT
conio_line_color = CONIO_SCREEN_COLORS
conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
conio_line_text = DEFAULT_SCREEN
conio_line_color = COLORRAM
conio_textcolor = LIGHT_BLUE
conio_scroll_enable = 1
call conio_c64_init
to:__start::@2
@ -1610,9 +1610,6 @@ __start::@return: scope:[__start] from __start::@3
SYMBOL TABLE SSA
__constant char BINARY = 2
__constant char * const COLORRAM = (char *)$d800
__constant char * const CONIO_SCREEN_COLORS = COLORRAM
__constant char * const CONIO_SCREEN_TEXT = DEFAULT_SCREEN
__constant const char CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
__constant char DECIMAL = $a
__constant char * const DEFAULT_SCREEN = (char *)$400
__constant char DIGITS[] = "0123456789abcdef"z
@ -2756,15 +2753,15 @@ Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_col
Adding number conversion cast (unumber) 0 in conio_cursor_x = 0
Adding number conversion cast (unumber) $19 in cscroll::$0 = conio_cursor_y == $19
Adding number conversion cast (unumber) 0 in cscroll::$7 = 0 != conio_scroll_enable
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#0 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)COLORRAM+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#1 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#0 = $28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)COLORRAM+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)COLORRAM+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#1 = $28
Adding number conversion cast (unumber) $28 in conio_line_text = conio_line_text - $28
Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_color - $28
@ -3442,16 +3439,16 @@ Constant uctoa::started#1 = 1
Constant uctoa_append::digit#0 = 0
Constant gotoxy::y#0 = 0
Constant gotoxy::x#0 = 0
Constant memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
Constant memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Constant memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Constant memcpy::num#0 = (unumber)$19*$28-$28
Constant memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
Constant memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Constant memcpy::destination#1 = (void *)COLORRAM
Constant memcpy::source#1 = (void *)COLORRAM+$28
Constant memcpy::num#1 = (unumber)$19*$28-$28
Constant memset::str#0 = (void *)CONIO_SCREEN_TEXT+(unsigned int)$19*$28-$28
Constant memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant memset::c#0 = ' '
Constant memset::num#0 = $28
Constant memset::str#1 = (void *)CONIO_SCREEN_COLORS+(unsigned int)$19*$28-$28
Constant memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant memset::num#1 = $28
Constant gotoxy::x#1 = 0
Constant gotoxy::y#1 = 0
@ -3882,7 +3879,6 @@ Constant inlined printf_str::s#5 = assert_cmp::s2
Constant inlined printf_str::s#6 = assert_cmp::s3
Constant inlined printf_str::s#3 = assert_cmp::s
Constant inlined printf_str::s#4 = assert_cmp::s1
Constant inlined CONIO_SCREEN_TEXT = DEFAULT_SCREEN
Constant inlined printf_str::s#1 = printf_number_buffer::buffer_digits#0
Constant inlined uctoa::digit#0 = 0
Constant inlined memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
@ -3919,7 +3915,6 @@ Constant inlined assert_cmp::message#6 = main::message6
Constant inlined uctoa::max_digits#2 = 2
Constant inlined assert_cmp::message#7 = main::message7
Constant inlined strupr::str#0 = printf_number_buffer::buffer_digits#0
Constant inlined CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
Constant inlined assert_cmp::message#8 = main::message8
Constant inlined uctoa::max_digits#4 = 8
Constant inlined uctoa::buffer#1 = ++++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
@ -4020,7 +4015,6 @@ Constant inlined memcpy::source#1 = (void *)COLORRAM+$28
Constant inlined memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant inlined strncmp::n#1 = 3
Constant inlined memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant inlined CONIO_SCREEN_COLORS = COLORRAM
Constant inlined strncmp::n#4 = 3
Constant inlined strncmp::n#5 = 3
Constant inlined strncmp::n#2 = 3

View File

@ -35,9 +35,9 @@ gotoxy::@2: scope:[gotoxy] from gotoxy::@1 gotoxy::@4
conio_cursor_y = gotoxy::y#5
gotoxy::$7 = (unsigned int)gotoxy::y#5
gotoxy::line_offset#0 = gotoxy::$7 * $28
gotoxy::$5 = CONIO_SCREEN_TEXT + gotoxy::line_offset#0
gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0
conio_line_text = gotoxy::$5
gotoxy::$6 = CONIO_SCREEN_COLORS + gotoxy::line_offset#0
gotoxy::$6 = COLORRAM + gotoxy::line_offset#0
conio_line_color = gotoxy::$6
to:gotoxy::@return
gotoxy::@4: scope:[gotoxy] from gotoxy::@1
@ -209,28 +209,28 @@ cscroll::@1: scope:[cscroll] from cscroll
if(cscroll::$7) goto cscroll::@3
to:cscroll::@2
cscroll::@3: scope:[cscroll] from cscroll::@1
memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
memcpy::destination#0 = (void *)DEFAULT_SCREEN
memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
memcpy::num#0 = $19*$28-$28
call memcpy
memcpy::return#2 = memcpy::return#1
to:cscroll::@4
cscroll::@4: scope:[cscroll] from cscroll::@3
memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
memcpy::destination#1 = (void *)COLORRAM
memcpy::source#1 = (void *)COLORRAM+$28
memcpy::num#1 = $19*$28-$28
call memcpy
memcpy::return#3 = memcpy::return#1
to:cscroll::@5
cscroll::@5: scope:[cscroll] from cscroll::@4
memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
memset::c#0 = ' '
memset::num#0 = $28
call memset
memset::return#2 = memset::return#1
to:cscroll::@6
cscroll::@6: scope:[cscroll] from cscroll::@5
memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
memset::str#1 = (void *)COLORRAM+$19*$28-$28
memset::c#1 = conio_textcolor
memset::num#1 = $28
call memset
@ -414,9 +414,9 @@ __start: scope:[__start] from
__start::__init1: scope:[__start] from __start
conio_cursor_x = 0
conio_cursor_y = 0
conio_line_text = CONIO_SCREEN_TEXT
conio_line_color = CONIO_SCREEN_COLORS
conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
conio_line_text = DEFAULT_SCREEN
conio_line_color = COLORRAM
conio_textcolor = LIGHT_BLUE
conio_scroll_enable = 1
call conio_c64_init
to:__start::@2
@ -434,9 +434,6 @@ __start::@return: scope:[__start] from __start::@3
SYMBOL TABLE SSA
__constant struct MOS6526_CIA * const CIA1 = (struct MOS6526_CIA *)$dc00
__constant char * const COLORRAM = (char *)$d800
__constant char * const CONIO_SCREEN_COLORS = COLORRAM
__constant char * const CONIO_SCREEN_TEXT = DEFAULT_SCREEN
__constant const char CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
__constant char * const DEFAULT_SCREEN = (char *)$400
__constant const char LIGHT_BLUE = $e
__constant char OFFSET_STRUCT_MOS6526_CIA_TIMER_A_CONTROL = $e
@ -710,15 +707,15 @@ Adding number conversion cast (unumber) 0 in cputs::$2 = 0 != cputs::$0
Adding number conversion cast (unumber) 0 in memset::$0 = memset::num#2 > 0
Adding number conversion cast (unumber) $19 in cscroll::$0 = conio_cursor_y == $19
Adding number conversion cast (unumber) 0 in cscroll::$7 = 0 != conio_scroll_enable
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#0 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)COLORRAM+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#1 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#0 = $28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)COLORRAM+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)COLORRAM+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#1 = $28
Adding number conversion cast (unumber) $28 in conio_line_text = conio_line_text - $28
Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_color - $28
@ -965,16 +962,16 @@ Successful SSA optimization Pass2ConstantRValueConsolidation
Constant gotoxy::y#0 = 0
Constant gotoxy::x#0 = 0
Constant cputs::c#0 = 0
Constant memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
Constant memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Constant memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Constant memcpy::num#0 = (unumber)$19*$28-$28
Constant memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
Constant memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Constant memcpy::destination#1 = (void *)COLORRAM
Constant memcpy::source#1 = (void *)COLORRAM+$28
Constant memcpy::num#1 = (unumber)$19*$28-$28
Constant memset::str#0 = (void *)CONIO_SCREEN_TEXT+(unsigned int)$19*$28-$28
Constant memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant memset::c#0 = ' '
Constant memset::num#0 = $28
Constant memset::str#1 = (void *)CONIO_SCREEN_COLORS+(unsigned int)$19*$28-$28
Constant memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant memset::num#1 = $28
Constant gotoxy::x#1 = 0
Constant gotoxy::y#1 = 0
@ -983,7 +980,7 @@ Constant conio_c64_init::line#1 = (unumber)$19-1
Constant tod_str::return#0 = tod_buffer
Constant gotoxy::x#3 = 0
Constant gotoxy::y#3 = 0
Constant conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
Constant conio_textcolor = LIGHT_BLUE
Constant conio_scroll_enable = 1
Successful SSA optimization Pass2ConstantIdentification
Constant memset::c#1 = conio_textcolor
@ -1054,31 +1051,28 @@ Inlining constant with var siblings memset::str#1
Inlining constant with var siblings memset::num#1
Inlining constant with var siblings memset::c#1
Inlining constant with var siblings conio_c64_init::line#1
Constant inlined memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant inlined memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant inlined cputs::s#1 = tod_buffer
Constant inlined conio_textcolor = LIGHT_BLUE
Constant inlined memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant inlined memset::num#1 = $28
Constant inlined memcpy::destination#1 = (void *)COLORRAM
Constant inlined memset::num#0 = $28
Constant inlined conio_c64_init::line#1 = (char)$19-1
Constant inlined memcpy::source#1 = (void *)COLORRAM+$28
Constant inlined CONIO_SCREEN_TEXT = DEFAULT_SCREEN
Constant inlined tod_str::return#2 = tod_buffer
Constant inlined tod_str::return#0 = tod_buffer
Constant inlined CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
Constant inlined memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant inlined memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant inlined CONIO_SCREEN_COLORS = COLORRAM
Constant inlined memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Constant inlined gotoxy::x#3 = 0
Constant inlined memcpy::num#1 = (unsigned int)$19*$28-$28
Constant inlined gotoxy::y#3 = 0
Constant inlined memcpy::num#0 = (unsigned int)$19*$28-$28
Constant inlined conio_c64_init::line#1 = (char)$19-1
Constant inlined memcpy::source#1 = (void *)COLORRAM+$28
Constant inlined gotoxy::x#0 = 0
Constant inlined gotoxy::y#0 = 0
Constant inlined gotoxy::x#2 = 0
Constant inlined memset::c#0 = ' '
Constant inlined memset::c#1 = LIGHT_BLUE
Constant inlined tod_str::return#2 = tod_buffer
Constant inlined tod_str::return#0 = tod_buffer
Successful SSA optimization Pass2ConstantInlining
Consolidated array index constant in *(tod_buffer+1)
Consolidated array index constant in *(tod_buffer+3)

View File

@ -9,8 +9,8 @@ CONTROL FLOW GRAPH SSA
void clrscr()
clrscr: scope:[clrscr] from main
clrscr::line_text#0 = CONIO_SCREEN_TEXT
clrscr::line_cols#0 = CONIO_SCREEN_COLORS
clrscr::line_text#0 = DEFAULT_SCREEN
clrscr::line_cols#0 = COLORRAM
clrscr::l#0 = 0
to:clrscr::@1
clrscr::@1: scope:[clrscr] from clrscr clrscr::@6
@ -29,8 +29,8 @@ clrscr::@2: scope:[clrscr] from clrscr::@1
clrscr::@3: scope:[clrscr] from clrscr::@1
conio_cursor_x = 0
conio_cursor_y = 0
conio_line_text = CONIO_SCREEN_TEXT
conio_line_color = CONIO_SCREEN_COLORS
conio_line_text = DEFAULT_SCREEN
conio_line_color = COLORRAM
to:clrscr::@return
clrscr::@4: scope:[clrscr] from clrscr::@2 clrscr::@5
clrscr::l#4 = phi( clrscr::@2/clrscr::l#5, clrscr::@5/clrscr::l#6 )
@ -87,9 +87,9 @@ gotoxy::@2: scope:[gotoxy] from gotoxy::@1 gotoxy::@4
conio_cursor_y = gotoxy::y#5
gotoxy::$7 = (unsigned int)gotoxy::y#5
gotoxy::line_offset#0 = gotoxy::$7 * $28
gotoxy::$5 = CONIO_SCREEN_TEXT + gotoxy::line_offset#0
gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0
conio_line_text = gotoxy::$5
gotoxy::$6 = CONIO_SCREEN_COLORS + gotoxy::line_offset#0
gotoxy::$6 = COLORRAM + gotoxy::line_offset#0
conio_line_color = gotoxy::$6
to:gotoxy::@return
gotoxy::@4: scope:[gotoxy] from gotoxy::@1
@ -258,28 +258,28 @@ cscroll::@1: scope:[cscroll] from cscroll
if(cscroll::$7) goto cscroll::@3
to:cscroll::@2
cscroll::@3: scope:[cscroll] from cscroll::@1
memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
memcpy::destination#0 = (void *)DEFAULT_SCREEN
memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
memcpy::num#0 = $19*$28-$28
call memcpy
memcpy::return#2 = memcpy::return#1
to:cscroll::@4
cscroll::@4: scope:[cscroll] from cscroll::@3
memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
memcpy::destination#1 = (void *)COLORRAM
memcpy::source#1 = (void *)COLORRAM+$28
memcpy::num#1 = $19*$28-$28
call memcpy
memcpy::return#3 = memcpy::return#1
to:cscroll::@5
cscroll::@5: scope:[cscroll] from cscroll::@4
memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
memset::c#0 = ' '
memset::num#0 = $28
call memset
memset::return#2 = memset::return#1
to:cscroll::@6
cscroll::@6: scope:[cscroll] from cscroll::@5
memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
memset::str#1 = (void *)COLORRAM+$19*$28-$28
memset::c#1 = conio_textcolor
memset::num#1 = $28
call memset
@ -389,9 +389,9 @@ __start: scope:[__start] from
__start::__init1: scope:[__start] from __start
conio_cursor_x = 0
conio_cursor_y = 0
conio_line_text = CONIO_SCREEN_TEXT
conio_line_color = CONIO_SCREEN_COLORS
conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
conio_line_text = DEFAULT_SCREEN
conio_line_color = COLORRAM
conio_textcolor = LIGHT_BLUE
conio_scroll_enable = 1
call conio_c64_init
to:__start::@2
@ -408,9 +408,6 @@ __start::@return: scope:[__start] from __start::@3
SYMBOL TABLE SSA
__constant char * const COLORRAM = (char *)$d800
__constant char * const CONIO_SCREEN_COLORS = COLORRAM
__constant char * const CONIO_SCREEN_TEXT = DEFAULT_SCREEN
__constant const char CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
__constant char * const DEFAULT_SCREEN = (char *)$400
__constant const char LIGHT_BLUE = $e
void __start()
@ -638,15 +635,15 @@ Adding number conversion cast (unumber) 0 in conio_cursor_x = 0
Adding number conversion cast (unumber) 0 in memset::$0 = memset::num#2 > 0
Adding number conversion cast (unumber) $19 in cscroll::$0 = conio_cursor_y == $19
Adding number conversion cast (unumber) 0 in cscroll::$7 = 0 != conio_scroll_enable
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#0 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)COLORRAM+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#1 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#0 = $28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)COLORRAM+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)COLORRAM+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#1 = $28
Adding number conversion cast (unumber) $28 in conio_line_text = conio_line_text - $28
Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_color - $28
@ -834,22 +831,22 @@ Constant right-side identified [95] memcpy::num#0 = (unumber)$19*$28-$28
Constant right-side identified [100] memcpy::num#1 = (unumber)$19*$28-$28
Constant right-side identified [127] conio_c64_init::line#1 = (unumber)$19-1
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant clrscr::line_text#0 = CONIO_SCREEN_TEXT
Constant clrscr::line_cols#0 = CONIO_SCREEN_COLORS
Constant clrscr::line_text#0 = DEFAULT_SCREEN
Constant clrscr::line_cols#0 = COLORRAM
Constant clrscr::l#0 = 0
Constant clrscr::c#0 = 0
Constant gotoxy::y#0 = 0
Constant gotoxy::x#0 = 0
Constant memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
Constant memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Constant memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Constant memcpy::num#0 = (unumber)$19*$28-$28
Constant memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
Constant memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Constant memcpy::destination#1 = (void *)COLORRAM
Constant memcpy::source#1 = (void *)COLORRAM+$28
Constant memcpy::num#1 = (unumber)$19*$28-$28
Constant memset::str#0 = (void *)CONIO_SCREEN_TEXT+(unsigned int)$19*$28-$28
Constant memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant memset::c#0 = ' '
Constant memset::num#0 = $28
Constant memset::str#1 = (void *)CONIO_SCREEN_COLORS+(unsigned int)$19*$28-$28
Constant memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant memset::num#1 = $28
Constant gotoxy::x#1 = 0
Constant gotoxy::y#1 = 0
@ -858,7 +855,7 @@ Constant conio_c64_init::line#1 = (unumber)$19-1
Constant main::c#0 = 0
Constant gotoxy::x#3 = 0
Constant main::c1#0 = 0
Constant conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
Constant conio_textcolor = LIGHT_BLUE
Constant conio_scroll_enable = 1
Successful SSA optimization Pass2ConstantIdentification
Constant memset::c#1 = conio_textcolor
@ -937,25 +934,22 @@ Inlining constant with var siblings conio_c64_init::line#1
Inlining constant with var siblings main::c#0
Inlining constant with var siblings main::c1#0
Constant inlined main::c1#0 = 0
Constant inlined memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant inlined memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant inlined clrscr::line_text#0 = DEFAULT_SCREEN
Constant inlined conio_textcolor = LIGHT_BLUE
Constant inlined memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant inlined memset::num#1 = $28
Constant inlined memcpy::destination#1 = (void *)COLORRAM
Constant inlined memset::num#0 = $28
Constant inlined clrscr::l#0 = 0
Constant inlined conio_c64_init::line#1 = (char)$19-1
Constant inlined main::c#0 = 0
Constant inlined memcpy::source#1 = (void *)COLORRAM+$28
Constant inlined CONIO_SCREEN_TEXT = DEFAULT_SCREEN
Constant inlined CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
Constant inlined memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant inlined memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant inlined CONIO_SCREEN_COLORS = COLORRAM
Constant inlined clrscr::line_text#0 = DEFAULT_SCREEN
Constant inlined memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Constant inlined gotoxy::x#3 = 0
Constant inlined memcpy::num#1 = (unsigned int)$19*$28-$28
Constant inlined memcpy::num#0 = (unsigned int)$19*$28-$28
Constant inlined conio_c64_init::line#1 = (char)$19-1
Constant inlined main::c#0 = 0
Constant inlined memcpy::source#1 = (void *)COLORRAM+$28
Constant inlined gotoxy::x#0 = 0
Constant inlined gotoxy::y#0 = 0
Constant inlined gotoxy::x#2 = 0

View File

@ -401,9 +401,9 @@ gotoxy::@2: scope:[gotoxy] from gotoxy::@1 gotoxy::@4
conio_cursor_y = gotoxy::y#4
gotoxy::$7 = (unsigned int)gotoxy::y#4
gotoxy::line_offset#0 = gotoxy::$7 * $28
gotoxy::$5 = CONIO_SCREEN_TEXT + gotoxy::line_offset#0
gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0
conio_line_text = gotoxy::$5
gotoxy::$6 = CONIO_SCREEN_COLORS + gotoxy::line_offset#0
gotoxy::$6 = COLORRAM + gotoxy::line_offset#0
conio_line_color = gotoxy::$6
to:gotoxy::@return
gotoxy::@4: scope:[gotoxy] from gotoxy::@1
@ -469,28 +469,28 @@ cscroll::@1: scope:[cscroll] from cscroll
if(cscroll::$7) goto cscroll::@3
to:cscroll::@2
cscroll::@3: scope:[cscroll] from cscroll::@1
memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
memcpy::destination#0 = (void *)DEFAULT_SCREEN
memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
memcpy::num#0 = $19*$28-$28
call memcpy
memcpy::return#2 = memcpy::return#1
to:cscroll::@4
cscroll::@4: scope:[cscroll] from cscroll::@3
memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
memcpy::destination#1 = (void *)COLORRAM
memcpy::source#1 = (void *)COLORRAM+$28
memcpy::num#1 = $19*$28-$28
call memcpy
memcpy::return#3 = memcpy::return#1
to:cscroll::@5
cscroll::@5: scope:[cscroll] from cscroll::@4
memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
memset::c#0 = ' '
memset::num#0 = $28
call memset
memset::return#2 = memset::return#1
to:cscroll::@6
cscroll::@6: scope:[cscroll] from cscroll::@5
memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
memset::str#1 = (void *)COLORRAM+$19*$28-$28
memset::c#1 = conio_textcolor
memset::num#1 = $28
call memset
@ -1084,9 +1084,9 @@ __start: scope:[__start] from
__start::__init1: scope:[__start] from __start
conio_cursor_x = 0
conio_cursor_y = 0
conio_line_text = CONIO_SCREEN_TEXT
conio_line_color = CONIO_SCREEN_COLORS
conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
conio_line_text = DEFAULT_SCREEN
conio_line_color = COLORRAM
conio_textcolor = LIGHT_BLUE
conio_scroll_enable = 1
call conio_c64_init
to:__start::@2
@ -1104,9 +1104,6 @@ __start::@return: scope:[__start] from __start::@3
SYMBOL TABLE SSA
__constant char BINARY = 2
__constant char * const COLORRAM = (char *)$d800
__constant char * const CONIO_SCREEN_COLORS = COLORRAM
__constant char * const CONIO_SCREEN_TEXT = DEFAULT_SCREEN
__constant const char CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
__constant char DECIMAL = $a
__constant char * const DEFAULT_SCREEN = (char *)$400
__constant char DIGITS[] = "0123456789abcdef"z
@ -1931,15 +1928,15 @@ Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_col
Adding number conversion cast (unumber) 0 in conio_cursor_x = 0
Adding number conversion cast (unumber) $19 in cscroll::$0 = conio_cursor_y == $19
Adding number conversion cast (unumber) 0 in cscroll::$7 = 0 != conio_scroll_enable
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#0 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)COLORRAM+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#1 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#0 = $28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)COLORRAM+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)COLORRAM+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#1 = $28
Adding number conversion cast (unumber) $28 in conio_line_text = conio_line_text - $28
Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_color - $28
@ -2428,16 +2425,16 @@ Constant utoa::started#1 = 1
Constant utoa_append::digit#0 = 0
Constant gotoxy::y#0 = 0
Constant gotoxy::x#0 = 0
Constant memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
Constant memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Constant memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Constant memcpy::num#0 = (unumber)$19*$28-$28
Constant memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
Constant memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Constant memcpy::destination#1 = (void *)COLORRAM
Constant memcpy::source#1 = (void *)COLORRAM+$28
Constant memcpy::num#1 = (unumber)$19*$28-$28
Constant memset::str#0 = (void *)CONIO_SCREEN_TEXT+(unsigned int)$19*$28-$28
Constant memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant memset::c#0 = ' '
Constant memset::num#0 = $28
Constant memset::str#1 = (void *)CONIO_SCREEN_COLORS+(unsigned int)$19*$28-$28
Constant memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant memset::num#1 = $28
Constant gotoxy::x#1 = 0
Constant gotoxy::y#1 = 0
@ -2478,7 +2475,7 @@ Constant printf_uint::format_upper_case#0 = 0
Constant printf_uint::format_radix#0 = DECIMAL
Constant printf_str::putc#4 = &cputc
Constant printf_str::s#5 = main::s2
Constant conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
Constant conio_textcolor = LIGHT_BLUE
Constant conio_scroll_enable = 1
Successful SSA optimization Pass2ConstantIdentification
Constant memset::c#1 = conio_textcolor
@ -2832,57 +2829,54 @@ Inlining constant with var siblings printf_string::putc#1
Inlining constant with var siblings printf_string::format_min_length#1
Inlining constant with var siblings printf_string::format_justify_left#1
Inlining constant with var siblings main::bbs#0
Constant inlined utoa_append::digit#0 = 0
Constant inlined utoa::digit_values#1 = RADIX_DECIMAL_VALUES
Constant inlined printf_str::putc#0 = printf_uint::putc#0
Constant inlined conio_textcolor = LIGHT_BLUE
Constant inlined memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant inlined memset::num#1 = $28
Constant inlined printf_str::putc#2 = &cputc
Constant inlined memcpy::destination#1 = (void *)COLORRAM
Constant inlined memset::num#0 = $28
Constant inlined printf_str::putc#3 = &cputc
Constant inlined strlen::len#0 = 0
Constant inlined printf_string::format_min_length#0 = 0
Constant inlined printf_string::format_min_length#1 = 0
Constant inlined conio_c64_init::line#1 = (char)$19-1
Constant inlined memcpy::source#1 = (void *)COLORRAM+$28
Constant inlined printf_str::s#5 = main::s2
Constant inlined printf_str::putc#4 = &cputc
Constant inlined utoa::digit#0 = 0
Constant inlined printf_str::s#3 = main::s
Constant inlined printf_str::s#4 = main::s
Constant inlined CONIO_SCREEN_TEXT = DEFAULT_SCREEN
Constant inlined printf_str::s#1 = printf_number_buffer::buffer_digits#0
Constant inlined utoa::$4 = utoa::max_digits#1-1
Constant inlined printf_string::putc#1 = &cputc
Constant inlined printf_string::putc#0 = &cputc
Constant inlined memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Constant inlined printf_string::padding#0 = 0
Constant inlined utoa::buffer#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined bbs_host_name17 = bbs_host_name1
Constant inlined printf_string::padding#2 = 0
Constant inlined memset::c#0 = ' '
Constant inlined memset::c#1 = LIGHT_BLUE
Constant inlined bbs_host_name16 = bbs_host_name8
Constant inlined utoa_append::digit#0 = 0
Constant inlined memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant inlined memcpy::destination#1 = (void *)COLORRAM
Constant inlined conio_c64_init::line#1 = (char)$19-1
Constant inlined memcpy::source#1 = (void *)COLORRAM+$28
Constant inlined utoa::digit#0 = 0
Constant inlined CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
Constant inlined memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant inlined memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant inlined printf_padding::i#0 = 0
Constant inlined CONIO_SCREEN_COLORS = COLORRAM
Constant inlined main::s1 = main::s
Constant inlined printf_uint::$0 = 0
Constant inlined utoa::started#1 = 1
Constant inlined utoa::started#0 = 0
Constant inlined printf_number_buffer::putc#0 = printf_uint::putc#0
Constant inlined memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Constant inlined printf_padding::pad#3 = ' '
Constant inlined printf_padding::pad#4 = ' '
Constant inlined memcpy::num#1 = (unsigned int)$19*$28-$28
Constant inlined memcpy::num#0 = (unsigned int)$19*$28-$28
Constant inlined printf_string::padding#0 = 0
Constant inlined utoa::buffer#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined gotoxy::y#0 = 0
Constant inlined bbs_host_name17 = bbs_host_name1
Constant inlined printf_string::padding#2 = 0
Constant inlined main::bbs#0 = bbs_list
Constant inlined memset::c#0 = ' '
Constant inlined memset::c#1 = LIGHT_BLUE
Constant inlined printf_string::format_justify_left#1 = 0
Constant inlined printf_string::format_justify_left#0 = 0
Constant inlined bbs_host_name16 = bbs_host_name8
Successful SSA optimization Pass2ConstantInlining
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6