diff --git a/src/main/java/dk/camelot64/kickc/test/bitmap-plotter.kc b/src/main/java/dk/camelot64/kickc/test/bitmap-plotter.kc index 03fe3e6ae..b4c8f34d5 100644 --- a/src/main/java/dk/camelot64/kickc/test/bitmap-plotter.kc +++ b/src/main/java/dk/camelot64/kickc/test/bitmap-plotter.kc @@ -27,9 +27,9 @@ void main() { init_plot_tables(); do { do {} while (*RASTER!=$ff); - *BGCOL = *BGCOL+1; + (*BGCOL)++; plots(); - *BGCOL = *BGCOL-1; + (*BGCOL)--; } while (true); } diff --git a/src/main/java/dk/camelot64/kickc/test/ref/bitmap-plotter.asm b/src/main/java/dk/camelot64/kickc/test/ref/bitmap-plotter.asm index e348f3645..bea04b769 100644 --- a/src/main/java/dk/camelot64/kickc/test/ref/bitmap-plotter.asm +++ b/src/main/java/dk/camelot64/kickc/test/ref/bitmap-plotter.asm @@ -40,15 +40,9 @@ main: { lda RASTER cmp #$ff bne b2 - lda BGCOL - clc - adc #1 - sta BGCOL + inc BGCOL jsr plots - lda BGCOL - sec - sbc #1 - sta BGCOL + dec BGCOL jmp b2 rts } diff --git a/src/main/java/dk/camelot64/kickc/test/ref/bitmap-plotter.cfg b/src/main/java/dk/camelot64/kickc/test/ref/bitmap-plotter.cfg index 0ba617d1b..76c1eed94 100644 --- a/src/main/java/dk/camelot64/kickc/test/ref/bitmap-plotter.cfg +++ b/src/main/java/dk/camelot64/kickc/test/ref/bitmap-plotter.cfg @@ -18,111 +18,109 @@ main::@2: scope:[main] from main::@2 main::@5 main::@7 [7] if(*((const byte*) RASTER#0)!=(byte) 255) goto main::@2 [ ] ( main:0 [ ] ) to:main::@3 main::@3: scope:[main] from main::@2 - [8] (byte~) main::$6 ← *((const byte*) BGCOL#0) + (byte) 1 [ main::$6 ] ( main:0 [ main::$6 ] ) - [9] *((const byte*) BGCOL#0) ← (byte~) main::$6 [ ] ( main:0 [ ] ) - [10] call plots param-assignment [ ] ( main:0 [ ] ) + [8] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) + [9] call plots param-assignment [ ] ( main:0 [ ] ) to:main::@7 main::@7: scope:[main] from main::@3 - [11] (byte~) main::$8 ← *((const byte*) BGCOL#0) - (byte) 1 [ main::$8 ] ( main:0 [ main::$8 ] ) - [12] *((const byte*) BGCOL#0) ← (byte~) main::$8 [ ] ( main:0 [ ] ) - [13] if(true) goto main::@2 [ ] ( main:0 [ ] ) + [10] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) + [11] if(true) goto main::@2 [ ] ( main:0 [ ] ) to:main::@return main::@return: scope:[main] from main::@7 - [14] return [ ] ( main:0 [ ] ) + [12] return [ ] ( main:0 [ ] ) to:@return plots: scope:[plots] from main::@3 - [15] phi() [ ] ( main:0::plots:10 [ ] ) + [13] phi() [ ] ( main:0::plots:9 [ ] ) to:plots::@1 plots::@1: scope:[plots] from plots plots::@3 - [16] (byte) plots::i#2 ← phi( plots/(byte) 0 plots::@3/(byte) plots::i#1 ) [ plots::i#2 ] ( main:0::plots:10 [ plots::i#2 ] ) - [17] (byte~) plots::$0 ← (const byte[]) plots_x#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 ] ( main:0::plots:10 [ plots::i#2 plots::$0 ] ) - [18] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:0::plots:10 [ plots::i#2 plots::$0 plots::$1 ] ) - [19] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:0::plots:10 [ plots::i#2 plots::$1 plot::x#0 ] ) - [20] (byte) plot::y#0 ← (byte~) plots::$1 [ plots::i#2 plot::x#0 plot::y#0 ] ( main:0::plots:10 [ plots::i#2 plot::x#0 plot::y#0 ] ) - [21] call plot param-assignment [ plots::i#2 ] ( main:0::plots:10 [ plots::i#2 ] ) + [14] (byte) plots::i#2 ← phi( plots/(byte) 0 plots::@3/(byte) plots::i#1 ) [ plots::i#2 ] ( main:0::plots:9 [ plots::i#2 ] ) + [15] (byte~) plots::$0 ← (const byte[]) plots_x#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 ] ( main:0::plots:9 [ plots::i#2 plots::$0 ] ) + [16] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:0::plots:9 [ plots::i#2 plots::$0 plots::$1 ] ) + [17] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:0::plots:9 [ plots::i#2 plots::$1 plot::x#0 ] ) + [18] (byte) plot::y#0 ← (byte~) plots::$1 [ plots::i#2 plot::x#0 plot::y#0 ] ( main:0::plots:9 [ plots::i#2 plot::x#0 plot::y#0 ] ) + [19] call plot param-assignment [ plots::i#2 ] ( main:0::plots:9 [ plots::i#2 ] ) to:plots::@3 plots::@3: scope:[plots] from plots::@1 - [22] (byte) plots::i#1 ← ++ (byte) plots::i#2 [ plots::i#1 ] ( main:0::plots:10 [ plots::i#1 ] ) - [23] if((byte) plots::i#1<(const byte) plots_cnt#0) goto plots::@1 [ plots::i#1 ] ( main:0::plots:10 [ plots::i#1 ] ) + [20] (byte) plots::i#1 ← ++ (byte) plots::i#2 [ plots::i#1 ] ( main:0::plots:9 [ plots::i#1 ] ) + [21] if((byte) plots::i#1<(const byte) plots_cnt#0) goto plots::@1 [ plots::i#1 ] ( main:0::plots:9 [ plots::i#1 ] ) to:plots::@return plots::@return: scope:[plots] from plots::@3 - [24] return [ ] ( main:0::plots:10 [ ] ) + [22] return [ ] ( main:0::plots:9 [ ] ) to:@return plot: scope:[plot] from plots::@1 - [25] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::$0 ] ) - [26] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#0 plot::y#0 plot::plotter_x#1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 ] ) - [27] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ) - [28] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 ] ) - [29] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#0 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ) - [30] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ) - [31] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#0 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ) - [32] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ) - [33] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter#0 ] ) - [34] (byte~) plot::$5 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#0 plot::$5 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::plotter#0 plot::$5 ] ) - [35] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::plotter#0 plot::$6 ] ) - [36] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] ( main:0::plots:10::plot:21 [ plots::i#2 ] ) + [23] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::$0 ] ) + [24] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#0 plot::y#0 plot::plotter_x#1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 ] ) + [25] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ) + [26] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 ] ) + [27] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#0 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ) + [28] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ) + [29] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#0 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ) + [30] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ) + [31] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter#0 ] ) + [32] (byte~) plot::$5 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#0 plot::$5 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::plotter#0 plot::$5 ] ) + [33] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::plotter#0 plot::$6 ] ) + [34] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] ( main:0::plots:9::plot:19 [ plots::i#2 ] ) to:plot::@return plot::@return: scope:[plot] from plot - [37] return [ ] ( main:0::plots:10::plot:21 [ plots::i#2 ] ) + [35] return [ ] ( main:0::plots:9::plot:19 [ plots::i#2 ] ) to:@return init_plot_tables: scope:[init_plot_tables] from main::@5 - [38] phi() [ ] ( main:0::init_plot_tables:6 [ ] ) + [36] phi() [ ] ( main:0::init_plot_tables:6 [ ] ) to:init_plot_tables::@1 init_plot_tables::@1: scope:[init_plot_tables] from init_plot_tables init_plot_tables::@2 - [39] (byte) init_plot_tables::bits#3 ← phi( init_plot_tables/(byte) 128 init_plot_tables::@2/(byte) init_plot_tables::bits#4 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) - [39] (byte) init_plot_tables::x#2 ← phi( init_plot_tables/(byte) 0 init_plot_tables::@2/(byte) init_plot_tables::x#1 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) - [40] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ) - [41] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) - [42] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) - [43] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) - [44] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ) - [45] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 ] ) + [37] (byte) init_plot_tables::bits#3 ← phi( init_plot_tables/(byte) 128 init_plot_tables::@2/(byte) init_plot_tables::bits#4 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) + [37] (byte) init_plot_tables::x#2 ← phi( init_plot_tables/(byte) 0 init_plot_tables::@2/(byte) init_plot_tables::x#1 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) + [38] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ) + [39] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) + [40] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) + [41] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) + [42] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ) + [43] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 ] ) to:init_plot_tables::@2 init_plot_tables::@2: scope:[init_plot_tables] from init_plot_tables::@1 init_plot_tables::@10 - [46] (byte) init_plot_tables::bits#4 ← phi( init_plot_tables::@10/(byte) init_plot_tables::bits#1 init_plot_tables::@1/(byte) 128 ) [ init_plot_tables::x#2 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#4 ] ) - [47] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) - [48] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) + [44] (byte) init_plot_tables::bits#4 ← phi( init_plot_tables::@10/(byte) init_plot_tables::bits#1 init_plot_tables::@1/(byte) 128 ) [ init_plot_tables::x#2 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#4 ] ) + [45] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) + [46] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) to:init_plot_tables::@3 init_plot_tables::@3: scope:[init_plot_tables] from init_plot_tables::@2 init_plot_tables::@4 - [49] (byte*) init_plot_tables::yoffs#2 ← phi( init_plot_tables::@4/(byte*) init_plot_tables::yoffs#4 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) - [49] (byte) init_plot_tables::y#2 ← phi( init_plot_tables::@4/(byte) init_plot_tables::y#1 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) - [50] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) - [51] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ) - [52] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ) - [53] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) - [54] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ) - [55] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) - [56] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) - [57] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) + [47] (byte*) init_plot_tables::yoffs#2 ← phi( init_plot_tables::@4/(byte*) init_plot_tables::yoffs#4 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) + [47] (byte) init_plot_tables::y#2 ← phi( init_plot_tables::@4/(byte) init_plot_tables::y#1 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) + [48] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) + [49] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ) + [50] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ) + [51] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) + [52] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ) + [53] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) + [54] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) + [55] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) to:init_plot_tables::@7 init_plot_tables::@7: scope:[init_plot_tables] from init_plot_tables::@3 - [58] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) + [56] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) to:init_plot_tables::@4 init_plot_tables::@4: scope:[init_plot_tables] from init_plot_tables::@3 init_plot_tables::@7 - [59] (byte*) init_plot_tables::yoffs#4 ← phi( init_plot_tables::@3/(byte*) init_plot_tables::yoffs#2 init_plot_tables::@7/(byte*) init_plot_tables::yoffs#1 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#4 ] ) - [60] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) - [61] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) + [57] (byte*) init_plot_tables::yoffs#4 ← phi( init_plot_tables::@3/(byte*) init_plot_tables::yoffs#2 init_plot_tables::@7/(byte*) init_plot_tables::yoffs#1 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#4 ] ) + [58] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) + [59] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) to:init_plot_tables::@return init_plot_tables::@return: scope:[init_plot_tables] from init_plot_tables::@4 - [62] return [ ] ( main:0::init_plot_tables:6 [ ] ) + [60] return [ ] ( main:0::init_plot_tables:6 [ ] ) to:@return init_plot_tables::@10: scope:[init_plot_tables] from init_plot_tables::@1 to:init_plot_tables::@2 init_screen: scope:[init_screen] from main - [63] phi() [ ] ( main:0::init_screen:5 [ ] ) + [61] phi() [ ] ( main:0::init_screen:5 [ ] ) to:init_screen::@1 init_screen::@1: scope:[init_screen] from init_screen init_screen::@1 - [64] (byte*) init_screen::b#2 ← phi( init_screen/(const byte*) BITMAP#0 init_screen::@1/(byte*) init_screen::b#1 ) [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) - [65] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) - [66] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) - [67] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) + [62] (byte*) init_screen::b#2 ← phi( init_screen/(const byte*) BITMAP#0 init_screen::@1/(byte*) init_screen::b#1 ) [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) + [63] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) + [64] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) + [65] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) to:init_screen::@2 init_screen::@2: scope:[init_screen] from init_screen::@1 init_screen::@2 - [68] (byte*) init_screen::c#2 ← phi( init_screen::@2/(byte*) init_screen::c#1 init_screen::@1/(const byte*) SCREEN#0 ) [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) - [69] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) - [70] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) - [71] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) + [66] (byte*) init_screen::c#2 ← phi( init_screen::@2/(byte*) init_screen::c#1 init_screen::@1/(const byte*) SCREEN#0 ) [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) + [67] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) + [68] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) + [69] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) to:init_screen::@return init_screen::@return: scope:[init_screen] from init_screen::@2 - [72] return [ ] ( main:0::init_screen:5 [ ] ) + [70] return [ ] ( main:0::init_screen:5 [ ] ) to:@return diff --git a/src/main/java/dk/camelot64/kickc/test/ref/bitmap-plotter.log b/src/main/java/dk/camelot64/kickc/test/ref/bitmap-plotter.log index b7fa5ecdf..3dca6e3e0 100644 --- a/src/main/java/dk/camelot64/kickc/test/ref/bitmap-plotter.log +++ b/src/main/java/dk/camelot64/kickc/test/ref/bitmap-plotter.log @@ -27,9 +27,9 @@ void main() { init_plot_tables(); do { do {} while (*RASTER!=$ff); - *BGCOL = *BGCOL+1; + (*BGCOL)++; plots(); - *BGCOL = *BGCOL-1; + (*BGCOL)--; } while (true); } @@ -90,6 +90,8 @@ void init_screen() { } } +Adding pre/post-modifier *((byte*) BGCOL) ← ++ *((byte*) BGCOL) +Adding pre/post-modifier *((byte*) BGCOL) ← -- *((byte*) BGCOL) Adding pre/post-modifier (byte) plots::i ← ++ (byte) plots::i Adding pre/post-modifier (byte*) init_screen::b ← ++ (byte*) init_screen::b Adding pre/post-modifier (byte*) init_screen::c ← ++ (byte*) init_screen::c @@ -128,11 +130,9 @@ main::@1: main::@2: (boolean~) main::$5 ← *((byte*) RASTER) != (byte) 255 if((boolean~) main::$5) goto main::@2 - (byte~) main::$6 ← *((byte*) BGCOL) + (byte) 1 - *((byte*) BGCOL) ← (byte~) main::$6 - (void~) main::$7 ← call plots - (byte~) main::$8 ← *((byte*) BGCOL) - (byte) 1 - *((byte*) BGCOL) ← (byte~) main::$8 + *((byte*) BGCOL) ← ++ *((byte*) BGCOL) + (void~) main::$6 ← call plots + *((byte*) BGCOL) ← -- *((byte*) BGCOL) if(true) goto main::@1 main::@return: return @@ -296,9 +296,7 @@ SYMBOLS (void~) main::$3 (void~) main::$4 (boolean~) main::$5 -(byte~) main::$6 -(void~) main::$7 -(byte~) main::$8 +(void~) main::$6 (label) main::@1 (label) main::@2 (label) main::@return @@ -370,11 +368,9 @@ main::@2: scope:[main] from main::@1 main::@2 if((boolean~) main::$5) goto main::@2 to:main::@3 main::@3: scope:[main] from main::@2 - (byte~) main::$6 ← *((byte*) BGCOL) + (byte) 1 - *((byte*) BGCOL) ← (byte~) main::$6 - (void~) main::$7 ← call plots - (byte~) main::$8 ← *((byte*) BGCOL) - (byte) 1 - *((byte*) BGCOL) ← (byte~) main::$8 + *((byte*) BGCOL) ← ++ *((byte*) BGCOL) + (void~) main::$6 ← call plots + *((byte*) BGCOL) ← -- *((byte*) BGCOL) if(true) goto main::@1 to:main::@4 main::@4: scope:[main] from main::@3 @@ -561,11 +557,9 @@ main::@2: scope:[main] from main main::@1 main::@2 if((boolean~) main::$5) goto main::@2 to:main::@3 main::@3: scope:[main] from main::@2 - (byte~) main::$6 ← *((byte*) BGCOL) + (byte) 1 - *((byte*) BGCOL) ← (byte~) main::$6 - (void~) main::$7 ← call plots - (byte~) main::$8 ← *((byte*) BGCOL) - (byte) 1 - *((byte*) BGCOL) ← (byte~) main::$8 + *((byte*) BGCOL) ← ++ *((byte*) BGCOL) + (void~) main::$6 ← call plots + *((byte*) BGCOL) ← -- *((byte*) BGCOL) if(true) goto main::@1 to:main::@return main::@return: scope:[main] from main::@3 @@ -740,13 +734,11 @@ main::@2: scope:[main] from main::@1 main::@2 main::@6 if((boolean~) main::$5) goto main::@2 to:main::@3 main::@3: scope:[main] from main::@2 - (byte~) main::$6 ← *((byte*) BGCOL) + (byte) 1 - *((byte*) BGCOL) ← (byte~) main::$6 + *((byte*) BGCOL) ← ++ *((byte*) BGCOL) call plots param-assignment to:main::@7 main::@7: scope:[main] from main::@3 - (byte~) main::$8 ← *((byte*) BGCOL) - (byte) 1 - *((byte*) BGCOL) ← (byte~) main::$8 + *((byte*) BGCOL) ← -- *((byte*) BGCOL) if(true) goto main::@1 to:main::@return main::@return: scope:[main] from main::@7 @@ -1004,8 +996,7 @@ main::@3: scope:[main] from main::@2 (byte[]) plots_y#4 ← phi( main::@2/(byte[]) plots_y#5 ) (byte[]) plots_x#4 ← phi( main::@2/(byte[]) plots_x#5 ) (byte*) BGCOL#2 ← phi( main::@2/(byte*) BGCOL#5 ) - (byte~) main::$6 ← *((byte*) BGCOL#2) + (byte) 1 - *((byte*) BGCOL#2) ← (byte~) main::$6 + *((byte*) BGCOL#2) ← ++ *((byte*) BGCOL#2) call plots param-assignment to:main::@7 main::@7: scope:[main] from main::@3 @@ -1019,8 +1010,7 @@ main::@7: scope:[main] from main::@3 (byte[]) plots_x#9 ← phi( main::@3/(byte[]) plots_x#4 ) (byte*) RASTER#5 ← phi( main::@3/(byte*) RASTER#7 ) (byte*) BGCOL#3 ← phi( main::@3/(byte*) BGCOL#2 ) - (byte~) main::$8 ← *((byte*) BGCOL#3) - (byte) 1 - *((byte*) BGCOL#3) ← (byte~) main::$8 + *((byte*) BGCOL#3) ← -- *((byte*) BGCOL#3) if(true) goto main::@1 to:main::@return main::@return: scope:[main] from main::@7 @@ -1393,8 +1383,7 @@ main::@3: scope:[main] from main::@2 (byte[]) plots_y#4 ← phi( main::@2/(byte[]) plots_y#5 ) (byte[]) plots_x#4 ← phi( main::@2/(byte[]) plots_x#5 ) (byte*) BGCOL#2 ← phi( main::@2/(byte*) BGCOL#5 ) - (byte~) main::$6 ← *((byte*) BGCOL#2) + (byte) 1 - *((byte*) BGCOL#2) ← (byte~) main::$6 + *((byte*) BGCOL#2) ← ++ *((byte*) BGCOL#2) call plots param-assignment to:main::@7 main::@7: scope:[main] from main::@3 @@ -1408,8 +1397,7 @@ main::@7: scope:[main] from main::@3 (byte[]) plots_x#9 ← phi( main::@3/(byte[]) plots_x#4 ) (byte*) RASTER#5 ← phi( main::@3/(byte*) RASTER#7 ) (byte*) BGCOL#3 ← phi( main::@3/(byte*) BGCOL#2 ) - (byte~) main::$8 ← *((byte*) BGCOL#3) - (byte) 1 - *((byte*) BGCOL#3) ← (byte~) main::$8 + *((byte*) BGCOL#3) ← -- *((byte*) BGCOL#3) if(true) goto main::@1 to:main::@return main::@return: scope:[main] from main::@7 @@ -1844,8 +1832,6 @@ INITIAL SSA SYMBOL TABLE (byte~) main::$1 (byte~) main::$2 (boolean~) main::$5 -(byte~) main::$6 -(byte~) main::$8 (label) main::@1 (label) main::@2 (label) main::@3 @@ -2143,8 +2129,7 @@ main::@3: scope:[main] from main::@2 (byte[]) plots_y#4 ← phi( main::@2/(byte[]) plots_y#5 ) (byte[]) plots_x#4 ← phi( main::@2/(byte[]) plots_x#5 ) (byte*) BGCOL#2 ← phi( main::@2/(byte*) BGCOL#5 ) - (byte~) main::$6 ← *((byte*) BGCOL#2) + (byte) 1 - *((byte*) BGCOL#2) ← (byte~) main::$6 + *((byte*) BGCOL#2) ← ++ *((byte*) BGCOL#2) call plots param-assignment to:main::@7 main::@7: scope:[main] from main::@3 @@ -2158,8 +2143,7 @@ main::@7: scope:[main] from main::@3 (byte[]) plots_x#9 ← phi( main::@3/(byte[]) plots_x#4 ) (byte*) RASTER#5 ← phi( main::@3/(byte*) RASTER#7 ) (byte*) BGCOL#3 ← phi( main::@3/(byte*) BGCOL#2 ) - (byte~) main::$8 ← *((byte*) BGCOL#3) - (byte) 1 - *((byte*) BGCOL#3) ← (byte~) main::$8 + *((byte*) BGCOL#3) ← -- *((byte*) BGCOL#3) if(true) goto main::@1 to:main::@return main::@return: scope:[main] from main::@7 @@ -2533,8 +2517,7 @@ main::@3: scope:[main] from main::@2 (byte[]) plots_y#4 ← phi( main::@2/(byte[]) plots_y#5 ) (byte[]) plots_x#4 ← phi( main::@2/(byte[]) plots_x#5 ) (byte*) BGCOL#2 ← phi( main::@2/(byte*) BGCOL#5 ) - (byte~) main::$6 ← *((byte*) BGCOL#2) + (byte) 1 - *((byte*) BGCOL#2) ← (byte~) main::$6 + *((byte*) BGCOL#2) ← ++ *((byte*) BGCOL#2) call plots param-assignment to:main::@7 main::@7: scope:[main] from main::@3 @@ -2548,8 +2531,7 @@ main::@7: scope:[main] from main::@3 (byte[]) plots_x#9 ← phi( main::@3/(byte[]) plots_x#4 ) (byte*) RASTER#5 ← phi( main::@3/(byte*) RASTER#7 ) (byte*) BGCOL#3 ← phi( main::@3/(byte*) BGCOL#2 ) - (byte~) main::$8 ← *((byte*) BGCOL#3) - (byte) 1 - *((byte*) BGCOL#3) ← (byte~) main::$8 + *((byte*) BGCOL#3) ← -- *((byte*) BGCOL#3) if(true) goto main::@1 to:main::@return main::@return: scope:[main] from main::@7 @@ -2921,13 +2903,11 @@ main::@2: scope:[main] from main::@1 main::@2 main::@6 if((boolean~) main::$5) goto main::@2 to:main::@3 main::@3: scope:[main] from main::@2 - (byte~) main::$6 ← *((byte*) BGCOL#2) + (byte) 1 - *((byte*) BGCOL#2) ← (byte~) main::$6 + *((byte*) BGCOL#2) ← ++ *((byte*) BGCOL#2) call plots param-assignment to:main::@7 main::@7: scope:[main] from main::@3 - (byte~) main::$8 ← *((byte*) BGCOL#2) - (byte) 1 - *((byte*) BGCOL#2) ← (byte~) main::$8 + *((byte*) BGCOL#2) ← -- *((byte*) BGCOL#2) if(true) goto main::@1 to:main::@return main::@return: scope:[main] from main::@7 @@ -3173,13 +3153,11 @@ main::@2: scope:[main] from main::@1 main::@2 main::@6 if((boolean~) main::$5) goto main::@2 to:main::@3 main::@3: scope:[main] from main::@2 - (byte~) main::$6 ← *((byte*) BGCOL#2) + (byte) 1 - *((byte*) BGCOL#2) ← (byte~) main::$6 + *((byte*) BGCOL#2) ← ++ *((byte*) BGCOL#2) call plots param-assignment to:main::@7 main::@7: scope:[main] from main::@3 - (byte~) main::$8 ← *((byte*) BGCOL#2) - (byte) 1 - *((byte*) BGCOL#2) ← (byte~) main::$8 + *((byte*) BGCOL#2) ← -- *((byte*) BGCOL#2) if(true) goto main::@1 to:main::@return main::@return: scope:[main] from main::@7 @@ -3446,13 +3424,11 @@ main::@2: scope:[main] from main::@1 main::@2 main::@6 if((boolean~) main::$5) goto main::@2 to:main::@3 main::@3: scope:[main] from main::@2 - (byte~) main::$6 ← *((byte*) BGCOL#2) + (byte) 1 - *((byte*) BGCOL#2) ← (byte~) main::$6 + *((byte*) BGCOL#2) ← ++ *((byte*) BGCOL#2) call plots param-assignment to:main::@7 main::@7: scope:[main] from main::@3 - (byte~) main::$8 ← *((byte*) BGCOL#2) - (byte) 1 - *((byte*) BGCOL#2) ← (byte~) main::$8 + *((byte*) BGCOL#2) ← -- *((byte*) BGCOL#2) if(true) goto main::@1 to:main::@return main::@return: scope:[main] from main::@7 @@ -3682,13 +3658,11 @@ main::@2: scope:[main] from main::@1 main::@2 main::@6 if((boolean~) main::$5) goto main::@2 to:main::@3 main::@3: scope:[main] from main::@2 - (byte~) main::$6 ← *((byte*) BGCOL#0) + (byte) 1 - *((byte*) BGCOL#0) ← (byte~) main::$6 + *((byte*) BGCOL#0) ← ++ *((byte*) BGCOL#0) call plots param-assignment to:main::@7 main::@7: scope:[main] from main::@3 - (byte~) main::$8 ← *((byte*) BGCOL#0) - (byte) 1 - *((byte*) BGCOL#0) ← (byte~) main::$8 + *((byte*) BGCOL#0) ← -- *((byte*) BGCOL#0) if(true) goto main::@1 to:main::@return main::@return: scope:[main] from main::@7 @@ -3877,13 +3851,11 @@ main::@2: scope:[main] from main::@1 main::@2 main::@6 if(*((byte*) RASTER#0)!=(byte) 255) goto main::@2 to:main::@3 main::@3: scope:[main] from main::@2 - (byte~) main::$6 ← *((byte*) BGCOL#0) + (byte) 1 - *((byte*) BGCOL#0) ← (byte~) main::$6 + *((byte*) BGCOL#0) ← ++ *((byte*) BGCOL#0) call plots param-assignment to:main::@7 main::@7: scope:[main] from main::@3 - (byte~) main::$8 ← *((byte*) BGCOL#0) - (byte) 1 - *((byte*) BGCOL#0) ← (byte~) main::$8 + *((byte*) BGCOL#0) ← -- *((byte*) BGCOL#0) if(true) goto main::@1 to:main::@return main::@return: scope:[main] from main::@7 @@ -4073,13 +4045,11 @@ main::@2: scope:[main] from main::@1 main::@2 main::@6 if(*((const byte*) RASTER#0)!=(byte) 255) goto main::@2 to:main::@3 main::@3: scope:[main] from main::@2 - (byte~) main::$6 ← *((const byte*) BGCOL#0) + (byte) 1 - *((const byte*) BGCOL#0) ← (byte~) main::$6 + *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) call plots param-assignment to:main::@7 main::@7: scope:[main] from main::@3 - (byte~) main::$8 ← *((const byte*) BGCOL#0) - (byte) 1 - *((const byte*) BGCOL#0) ← (byte~) main::$8 + *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) if(true) goto main::@1 to:main::@return main::@return: scope:[main] from main::@7 @@ -4226,13 +4196,11 @@ main::@2: scope:[main] from main::@1 main::@2 main::@6 if(*((const byte*) RASTER#0)!=(byte) 255) goto main::@2 to:main::@3 main::@3: scope:[main] from main::@2 - (byte~) main::$6 ← *((const byte*) BGCOL#0) + (byte) 1 - *((const byte*) BGCOL#0) ← (byte~) main::$6 + *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) call plots param-assignment to:main::@7 main::@7: scope:[main] from main::@3 - (byte~) main::$8 ← *((const byte*) BGCOL#0) - (byte) 1 - *((const byte*) BGCOL#0) ← (byte~) main::$8 + *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) if(true) goto main::@1 to:main::@return main::@return: scope:[main] from main::@7 @@ -4368,13 +4336,11 @@ main::@2: scope:[main] from main::@1 main::@2 main::@6 if(*((const byte*) RASTER#0)!=(byte) 255) goto main::@2 to:main::@3 main::@3: scope:[main] from main::@2 - (byte~) main::$6 ← *((const byte*) BGCOL#0) + (byte) 1 - *((const byte*) BGCOL#0) ← (byte~) main::$6 + *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) call plots param-assignment to:main::@7 main::@7: scope:[main] from main::@3 - (byte~) main::$8 ← *((const byte*) BGCOL#0) - (byte) 1 - *((const byte*) BGCOL#0) ← (byte~) main::$8 + *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) if(true) goto main::@1 to:main::@return main::@return: scope:[main] from main::@7 @@ -4509,13 +4475,11 @@ main::@2: scope:[main] from main::@1 main::@2 main::@6 if(*((const byte*) RASTER#0)!=(byte) 255) goto main::@2 to:main::@3 main::@3: scope:[main] from main::@2 - (byte~) main::$6 ← *((const byte*) BGCOL#0) + (byte) 1 - *((const byte*) BGCOL#0) ← (byte~) main::$6 + *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) call plots param-assignment to:main::@7 main::@7: scope:[main] from main::@3 - (byte~) main::$8 ← *((const byte*) BGCOL#0) - (byte) 1 - *((const byte*) BGCOL#0) ← (byte~) main::$8 + *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) if(true) goto main::@1 to:main::@return main::@return: scope:[main] from main::@7 @@ -4665,13 +4629,11 @@ main::@2: scope:[main] from main::@2 main::@5 main::@7 if(*((const byte*) RASTER#0)!=(byte) 255) goto main::@2 to:main::@3 main::@3: scope:[main] from main::@2 - (byte~) main::$6 ← *((const byte*) BGCOL#0) + (byte) 1 - *((const byte*) BGCOL#0) ← (byte~) main::$6 + *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) call plots param-assignment to:main::@7 main::@7: scope:[main] from main::@3 - (byte~) main::$8 ← *((const byte*) BGCOL#0) - (byte) 1 - *((const byte*) BGCOL#0) ← (byte~) main::$8 + *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) if(true) goto main::@2 to:main::@return main::@return: scope:[main] from main::@7 @@ -4864,13 +4826,11 @@ main::@2: scope:[main] from main::@2 main::@5 main::@7 if(*((const byte*) RASTER#0)!=(byte) 255) goto main::@2 to:main::@3 main::@3: scope:[main] from main::@2 - (byte~) main::$6 ← *((const byte*) BGCOL#0) + (byte) 1 - *((const byte*) BGCOL#0) ← (byte~) main::$6 + *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) call plots param-assignment to:main::@7 main::@7: scope:[main] from main::@3 - (byte~) main::$8 ← *((const byte*) BGCOL#0) - (byte) 1 - *((const byte*) BGCOL#0) ← (byte~) main::$8 + *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) if(true) goto main::@2 to:main::@return main::@return: scope:[main] from main::@7 @@ -5049,8 +5009,6 @@ FINAL SYMBOL TABLE (byte*) init_screen::c#1 (byte*) init_screen::c#2 (void()) main() -(byte~) main::$6 -(byte~) main::$8 (label) main::@2 (label) main::@3 (label) main::@5 @@ -5132,13 +5090,11 @@ main::@2: scope:[main] from main::@2 main::@5 main::@7 if(*((const byte*) RASTER#0)!=(byte) 255) goto main::@2 to:main::@3 main::@3: scope:[main] from main::@2 - (byte~) main::$6 ← *((const byte*) BGCOL#0) + (byte) 1 - *((const byte*) BGCOL#0) ← (byte~) main::$6 + *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) call plots param-assignment to:main::@7 main::@7: scope:[main] from main::@3 - (byte~) main::$8 ← *((const byte*) BGCOL#0) - (byte) 1 - *((const byte*) BGCOL#0) ← (byte~) main::$8 + *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) if(true) goto main::@2 to:main::@return main::@return: scope:[main] from main::@7 @@ -5267,8 +5223,8 @@ Adding NOP phi() at start of init_plot_tables Adding NOP phi() at start of init_screen CALL GRAPH Calls in [] to main:0 -Calls in [main] to init_screen:5 init_plot_tables:6 plots:10 -Calls in [plots] to plot:21 +Calls in [main] to init_screen:5 init_plot_tables:6 plots:9 +Calls in [plots] to plot:19 Propagating live ranges... Propagating live ranges... @@ -5299,150 +5255,148 @@ main::@2: scope:[main] from main::@2 main::@5 main::@7 [7] if(*((const byte*) RASTER#0)!=(byte) 255) goto main::@2 [ ] to:main::@3 main::@3: scope:[main] from main::@2 - [8] (byte~) main::$6 ← *((const byte*) BGCOL#0) + (byte) 1 [ main::$6 ] - [9] *((const byte*) BGCOL#0) ← (byte~) main::$6 [ ] - [10] call plots param-assignment [ ] + [8] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ ] + [9] call plots param-assignment [ ] to:main::@7 main::@7: scope:[main] from main::@3 - [11] (byte~) main::$8 ← *((const byte*) BGCOL#0) - (byte) 1 [ main::$8 ] - [12] *((const byte*) BGCOL#0) ← (byte~) main::$8 [ ] - [13] if(true) goto main::@2 [ ] + [10] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ ] + [11] if(true) goto main::@2 [ ] to:main::@return main::@return: scope:[main] from main::@7 - [14] return [ ] + [12] return [ ] to:@return plots: scope:[plots] from main::@3 - [15] phi() [ ] + [13] phi() [ ] to:plots::@1 plots::@1: scope:[plots] from plots plots::@4 - [16] (byte) plots::i#2 ← phi( plots/(byte) 0 plots::@4/(byte~) plots::i#4 ) [ plots::i#2 ] - [17] (byte~) plots::$0 ← (const byte[]) plots_x#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 ] - [18] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] - [19] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] - [20] (byte) plot::y#0 ← (byte~) plots::$1 [ plots::i#2 plot::x#0 plot::y#0 ] - [21] call plot param-assignment [ plots::i#2 ] + [14] (byte) plots::i#2 ← phi( plots/(byte) 0 plots::@4/(byte~) plots::i#4 ) [ plots::i#2 ] + [15] (byte~) plots::$0 ← (const byte[]) plots_x#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 ] + [16] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] + [17] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] + [18] (byte) plot::y#0 ← (byte~) plots::$1 [ plots::i#2 plot::x#0 plot::y#0 ] + [19] call plot param-assignment [ plots::i#2 ] to:plots::@3 plots::@3: scope:[plots] from plots::@1 - [22] (byte) plots::i#1 ← ++ (byte) plots::i#2 [ plots::i#1 ] - [23] if((byte) plots::i#1<(const byte) plots_cnt#0) goto plots::@4 [ plots::i#1 ] + [20] (byte) plots::i#1 ← ++ (byte) plots::i#2 [ plots::i#1 ] + [21] if((byte) plots::i#1<(const byte) plots_cnt#0) goto plots::@4 [ plots::i#1 ] to:plots::@return plots::@return: scope:[plots] from plots::@3 - [24] return [ ] + [22] return [ ] to:@return plots::@4: scope:[plots] from plots::@3 - [25] (byte~) plots::i#4 ← (byte) plots::i#1 [ plots::i#4 ] + [23] (byte~) plots::i#4 ← (byte) plots::i#1 [ plots::i#4 ] to:plots::@1 plot: scope:[plot] from plots::@1 - [26] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ] - [27] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#0 plot::y#0 plot::plotter_x#1 ] - [28] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] - [29] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] - [30] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#0 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] - [31] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] - [32] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#0 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] - [33] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] - [34] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] - [35] (byte~) plot::$5 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#0 plot::$5 ] - [36] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] - [37] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] + [24] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ] + [25] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#0 plot::y#0 plot::plotter_x#1 ] + [26] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] + [27] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] + [28] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#0 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] + [29] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] + [30] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#0 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] + [31] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] + [32] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] + [33] (byte~) plot::$5 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#0 plot::$5 ] + [34] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] + [35] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] to:plot::@return plot::@return: scope:[plot] from plot - [38] return [ ] + [36] return [ ] to:@return init_plot_tables: scope:[init_plot_tables] from main::@5 - [39] phi() [ ] + [37] phi() [ ] to:init_plot_tables::@1 init_plot_tables::@1: scope:[init_plot_tables] from init_plot_tables init_plot_tables::@9 - [40] (byte) init_plot_tables::bits#3 ← phi( init_plot_tables/(byte) 128 init_plot_tables::@9/(byte~) init_plot_tables::bits#5 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] - [40] (byte) init_plot_tables::x#2 ← phi( init_plot_tables/(byte) 0 init_plot_tables::@9/(byte~) init_plot_tables::x#5 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] - [41] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] - [42] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] - [43] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] - [44] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] - [45] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] - [46] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] + [38] (byte) init_plot_tables::bits#3 ← phi( init_plot_tables/(byte) 128 init_plot_tables::@9/(byte~) init_plot_tables::bits#5 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] + [38] (byte) init_plot_tables::x#2 ← phi( init_plot_tables/(byte) 0 init_plot_tables::@9/(byte~) init_plot_tables::x#5 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] + [39] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] + [40] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] + [41] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] + [42] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] + [43] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] + [44] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] to:init_plot_tables::@5 init_plot_tables::@5: scope:[init_plot_tables] from init_plot_tables::@1 to:init_plot_tables::@2 init_plot_tables::@2: scope:[init_plot_tables] from init_plot_tables::@10 init_plot_tables::@5 - [47] (byte) init_plot_tables::bits#4 ← phi( init_plot_tables::@10/(byte~) init_plot_tables::bits#6 init_plot_tables::@5/(byte) 128 ) [ init_plot_tables::x#2 init_plot_tables::bits#4 ] - [48] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::bits#4 init_plot_tables::x#1 ] - [49] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@9 [ init_plot_tables::bits#4 init_plot_tables::x#1 ] + [45] (byte) init_plot_tables::bits#4 ← phi( init_plot_tables::@10/(byte~) init_plot_tables::bits#6 init_plot_tables::@5/(byte) 128 ) [ init_plot_tables::x#2 init_plot_tables::bits#4 ] + [46] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::bits#4 init_plot_tables::x#1 ] + [47] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@9 [ init_plot_tables::bits#4 init_plot_tables::x#1 ] to:init_plot_tables::@3 init_plot_tables::@3: scope:[init_plot_tables] from init_plot_tables::@11 init_plot_tables::@2 - [50] (byte*) init_plot_tables::yoffs#2 ← phi( init_plot_tables::@11/(byte*~) init_plot_tables::yoffs#5 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] - [50] (byte) init_plot_tables::y#2 ← phi( init_plot_tables::@11/(byte~) init_plot_tables::y#5 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] - [51] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] - [52] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] - [53] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] - [54] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] - [55] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] - [56] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] - [57] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] - [58] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@12 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] + [48] (byte*) init_plot_tables::yoffs#2 ← phi( init_plot_tables::@11/(byte*~) init_plot_tables::yoffs#5 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] + [48] (byte) init_plot_tables::y#2 ← phi( init_plot_tables::@11/(byte~) init_plot_tables::y#5 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] + [49] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] + [50] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] + [51] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] + [52] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] + [53] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] + [54] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] + [55] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] + [56] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@12 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] to:init_plot_tables::@7 init_plot_tables::@7: scope:[init_plot_tables] from init_plot_tables::@3 - [59] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] - [60] (byte*~) init_plot_tables::yoffs#7 ← (byte*) init_plot_tables::yoffs#1 [ init_plot_tables::y#2 init_plot_tables::yoffs#7 ] + [57] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] + [58] (byte*~) init_plot_tables::yoffs#7 ← (byte*) init_plot_tables::yoffs#1 [ init_plot_tables::y#2 init_plot_tables::yoffs#7 ] to:init_plot_tables::@4 init_plot_tables::@4: scope:[init_plot_tables] from init_plot_tables::@12 init_plot_tables::@7 - [61] (byte*) init_plot_tables::yoffs#4 ← phi( init_plot_tables::@12/(byte*~) init_plot_tables::yoffs#6 init_plot_tables::@7/(byte*~) init_plot_tables::yoffs#7 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#4 ] - [62] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::yoffs#4 init_plot_tables::y#1 ] - [63] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@11 [ init_plot_tables::yoffs#4 init_plot_tables::y#1 ] + [59] (byte*) init_plot_tables::yoffs#4 ← phi( init_plot_tables::@12/(byte*~) init_plot_tables::yoffs#6 init_plot_tables::@7/(byte*~) init_plot_tables::yoffs#7 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#4 ] + [60] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::yoffs#4 init_plot_tables::y#1 ] + [61] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@11 [ init_plot_tables::yoffs#4 init_plot_tables::y#1 ] to:init_plot_tables::@return init_plot_tables::@return: scope:[init_plot_tables] from init_plot_tables::@4 - [64] return [ ] + [62] return [ ] to:@return init_plot_tables::@11: scope:[init_plot_tables] from init_plot_tables::@4 - [65] (byte~) init_plot_tables::y#5 ← (byte) init_plot_tables::y#1 [ init_plot_tables::y#5 init_plot_tables::yoffs#4 ] - [66] (byte*~) init_plot_tables::yoffs#5 ← (byte*) init_plot_tables::yoffs#4 [ init_plot_tables::y#5 init_plot_tables::yoffs#5 ] + [63] (byte~) init_plot_tables::y#5 ← (byte) init_plot_tables::y#1 [ init_plot_tables::y#5 init_plot_tables::yoffs#4 ] + [64] (byte*~) init_plot_tables::yoffs#5 ← (byte*) init_plot_tables::yoffs#4 [ init_plot_tables::y#5 init_plot_tables::yoffs#5 ] to:init_plot_tables::@3 init_plot_tables::@12: scope:[init_plot_tables] from init_plot_tables::@3 - [67] (byte*~) init_plot_tables::yoffs#6 ← (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#6 ] + [65] (byte*~) init_plot_tables::yoffs#6 ← (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#6 ] to:init_plot_tables::@4 init_plot_tables::@9: scope:[init_plot_tables] from init_plot_tables::@2 - [68] (byte~) init_plot_tables::x#5 ← (byte) init_plot_tables::x#1 [ init_plot_tables::x#5 init_plot_tables::bits#4 ] - [69] (byte~) init_plot_tables::bits#5 ← (byte) init_plot_tables::bits#4 [ init_plot_tables::x#5 init_plot_tables::bits#5 ] + [66] (byte~) init_plot_tables::x#5 ← (byte) init_plot_tables::x#1 [ init_plot_tables::x#5 init_plot_tables::bits#4 ] + [67] (byte~) init_plot_tables::bits#5 ← (byte) init_plot_tables::bits#4 [ init_plot_tables::x#5 init_plot_tables::bits#5 ] to:init_plot_tables::@1 init_plot_tables::@10: scope:[init_plot_tables] from init_plot_tables::@1 - [70] (byte~) init_plot_tables::bits#6 ← (byte) init_plot_tables::bits#1 [ init_plot_tables::x#2 init_plot_tables::bits#6 ] + [68] (byte~) init_plot_tables::bits#6 ← (byte) init_plot_tables::bits#1 [ init_plot_tables::x#2 init_plot_tables::bits#6 ] to:init_plot_tables::@2 init_screen: scope:[init_screen] from main - [71] phi() [ ] + [69] phi() [ ] to:init_screen::@1 init_screen::@1: scope:[init_screen] from init_screen init_screen::@5 - [72] (byte*) init_screen::b#2 ← phi( init_screen/(const byte*) BITMAP#0 init_screen::@5/(byte*~) init_screen::b#3 ) [ init_screen::b#2 ] - [73] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] - [74] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] - [75] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@5 [ init_screen::b#1 ] + [70] (byte*) init_screen::b#2 ← phi( init_screen/(const byte*) BITMAP#0 init_screen::@5/(byte*~) init_screen::b#3 ) [ init_screen::b#2 ] + [71] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] + [72] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] + [73] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@5 [ init_screen::b#1 ] to:init_screen::@2 init_screen::@2: scope:[init_screen] from init_screen::@1 init_screen::@6 - [76] (byte*) init_screen::c#2 ← phi( init_screen::@6/(byte*~) init_screen::c#3 init_screen::@1/(const byte*) SCREEN#0 ) [ init_screen::c#2 ] - [77] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] - [78] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] - [79] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@6 [ init_screen::c#1 ] + [74] (byte*) init_screen::c#2 ← phi( init_screen::@6/(byte*~) init_screen::c#3 init_screen::@1/(const byte*) SCREEN#0 ) [ init_screen::c#2 ] + [75] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] + [76] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] + [77] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@6 [ init_screen::c#1 ] to:init_screen::@return init_screen::@return: scope:[init_screen] from init_screen::@2 - [80] return [ ] + [78] return [ ] to:@return init_screen::@6: scope:[init_screen] from init_screen::@2 - [81] (byte*~) init_screen::c#3 ← (byte*) init_screen::c#1 [ init_screen::c#3 ] + [79] (byte*~) init_screen::c#3 ← (byte*) init_screen::c#1 [ init_screen::c#3 ] to:init_screen::@2 init_screen::@5: scope:[init_screen] from init_screen::@1 - [82] (byte*~) init_screen::b#3 ← (byte*) init_screen::b#1 [ init_screen::b#3 ] + [80] (byte*~) init_screen::b#3 ← (byte*) init_screen::b#1 [ init_screen::b#3 ] to:init_screen::@1 Created 9 initial phi equivalence classes -Coalesced [25] plots::i#4 ← plots::i#1 -Coalesced [60] init_plot_tables::yoffs#7 ← init_plot_tables::yoffs#1 -Coalesced [65] init_plot_tables::y#5 ← init_plot_tables::y#1 -Coalesced [66] init_plot_tables::yoffs#5 ← init_plot_tables::yoffs#4 -Coalesced (already) [67] init_plot_tables::yoffs#6 ← init_plot_tables::yoffs#2 -Coalesced [68] init_plot_tables::x#5 ← init_plot_tables::x#1 -Coalesced [69] init_plot_tables::bits#5 ← init_plot_tables::bits#4 -Coalesced [70] init_plot_tables::bits#6 ← init_plot_tables::bits#1 -Coalesced [81] init_screen::c#3 ← init_screen::c#1 -Coalesced [82] init_screen::b#3 ← init_screen::b#1 +Coalesced [23] plots::i#4 ← plots::i#1 +Coalesced [58] init_plot_tables::yoffs#7 ← init_plot_tables::yoffs#1 +Coalesced [63] init_plot_tables::y#5 ← init_plot_tables::y#1 +Coalesced [64] init_plot_tables::yoffs#5 ← init_plot_tables::yoffs#4 +Coalesced (already) [65] init_plot_tables::yoffs#6 ← init_plot_tables::yoffs#2 +Coalesced [66] init_plot_tables::x#5 ← init_plot_tables::x#1 +Coalesced [67] init_plot_tables::bits#5 ← init_plot_tables::bits#4 +Coalesced [68] init_plot_tables::bits#6 ← init_plot_tables::bits#1 +Coalesced [79] init_screen::c#3 ← init_screen::c#1 +Coalesced [80] init_screen::b#3 ← init_screen::b#1 Coalesced down to 7 phi equivalence classes Culled Empty Block (label) plots::@4 Culled Empty Block (label) init_plot_tables::@5 @@ -5485,113 +5439,111 @@ main::@2: scope:[main] from main::@2 main::@5 main::@7 [7] if(*((const byte*) RASTER#0)!=(byte) 255) goto main::@2 [ ] to:main::@3 main::@3: scope:[main] from main::@2 - [8] (byte~) main::$6 ← *((const byte*) BGCOL#0) + (byte) 1 [ main::$6 ] - [9] *((const byte*) BGCOL#0) ← (byte~) main::$6 [ ] - [10] call plots param-assignment [ ] + [8] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ ] + [9] call plots param-assignment [ ] to:main::@7 main::@7: scope:[main] from main::@3 - [11] (byte~) main::$8 ← *((const byte*) BGCOL#0) - (byte) 1 [ main::$8 ] - [12] *((const byte*) BGCOL#0) ← (byte~) main::$8 [ ] - [13] if(true) goto main::@2 [ ] + [10] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ ] + [11] if(true) goto main::@2 [ ] to:main::@return main::@return: scope:[main] from main::@7 - [14] return [ ] + [12] return [ ] to:@return plots: scope:[plots] from main::@3 - [15] phi() [ ] + [13] phi() [ ] to:plots::@1 plots::@1: scope:[plots] from plots plots::@3 - [16] (byte) plots::i#2 ← phi( plots/(byte) 0 plots::@3/(byte) plots::i#1 ) [ plots::i#2 ] - [17] (byte~) plots::$0 ← (const byte[]) plots_x#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 ] - [18] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] - [19] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] - [20] (byte) plot::y#0 ← (byte~) plots::$1 [ plots::i#2 plot::x#0 plot::y#0 ] - [21] call plot param-assignment [ plots::i#2 ] + [14] (byte) plots::i#2 ← phi( plots/(byte) 0 plots::@3/(byte) plots::i#1 ) [ plots::i#2 ] + [15] (byte~) plots::$0 ← (const byte[]) plots_x#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 ] + [16] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] + [17] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] + [18] (byte) plot::y#0 ← (byte~) plots::$1 [ plots::i#2 plot::x#0 plot::y#0 ] + [19] call plot param-assignment [ plots::i#2 ] to:plots::@3 plots::@3: scope:[plots] from plots::@1 - [22] (byte) plots::i#1 ← ++ (byte) plots::i#2 [ plots::i#1 ] - [23] if((byte) plots::i#1<(const byte) plots_cnt#0) goto plots::@1 [ plots::i#1 ] + [20] (byte) plots::i#1 ← ++ (byte) plots::i#2 [ plots::i#1 ] + [21] if((byte) plots::i#1<(const byte) plots_cnt#0) goto plots::@1 [ plots::i#1 ] to:plots::@return plots::@return: scope:[plots] from plots::@3 - [24] return [ ] + [22] return [ ] to:@return plot: scope:[plot] from plots::@1 - [25] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ] - [26] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#0 plot::y#0 plot::plotter_x#1 ] - [27] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] - [28] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] - [29] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#0 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] - [30] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] - [31] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#0 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] - [32] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] - [33] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] - [34] (byte~) plot::$5 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#0 plot::$5 ] - [35] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] - [36] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] + [23] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ] + [24] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#0 plot::y#0 plot::plotter_x#1 ] + [25] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] + [26] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] + [27] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#0 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] + [28] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] + [29] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#0 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] + [30] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] + [31] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] + [32] (byte~) plot::$5 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#0 plot::$5 ] + [33] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] + [34] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] to:plot::@return plot::@return: scope:[plot] from plot - [37] return [ ] + [35] return [ ] to:@return init_plot_tables: scope:[init_plot_tables] from main::@5 - [38] phi() [ ] + [36] phi() [ ] to:init_plot_tables::@1 init_plot_tables::@1: scope:[init_plot_tables] from init_plot_tables init_plot_tables::@2 - [39] (byte) init_plot_tables::bits#3 ← phi( init_plot_tables/(byte) 128 init_plot_tables::@2/(byte) init_plot_tables::bits#4 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] - [39] (byte) init_plot_tables::x#2 ← phi( init_plot_tables/(byte) 0 init_plot_tables::@2/(byte) init_plot_tables::x#1 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] - [40] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] - [41] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] - [42] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] - [43] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] - [44] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] - [45] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] + [37] (byte) init_plot_tables::bits#3 ← phi( init_plot_tables/(byte) 128 init_plot_tables::@2/(byte) init_plot_tables::bits#4 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] + [37] (byte) init_plot_tables::x#2 ← phi( init_plot_tables/(byte) 0 init_plot_tables::@2/(byte) init_plot_tables::x#1 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] + [38] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] + [39] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] + [40] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] + [41] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] + [42] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] + [43] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] to:init_plot_tables::@2 init_plot_tables::@2: scope:[init_plot_tables] from init_plot_tables::@1 init_plot_tables::@10 - [46] (byte) init_plot_tables::bits#4 ← phi( init_plot_tables::@10/(byte) init_plot_tables::bits#1 init_plot_tables::@1/(byte) 128 ) [ init_plot_tables::x#2 init_plot_tables::bits#4 ] - [47] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] - [48] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] + [44] (byte) init_plot_tables::bits#4 ← phi( init_plot_tables::@10/(byte) init_plot_tables::bits#1 init_plot_tables::@1/(byte) 128 ) [ init_plot_tables::x#2 init_plot_tables::bits#4 ] + [45] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] + [46] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] to:init_plot_tables::@3 init_plot_tables::@3: scope:[init_plot_tables] from init_plot_tables::@2 init_plot_tables::@4 - [49] (byte*) init_plot_tables::yoffs#2 ← phi( init_plot_tables::@4/(byte*) init_plot_tables::yoffs#4 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] - [49] (byte) init_plot_tables::y#2 ← phi( init_plot_tables::@4/(byte) init_plot_tables::y#1 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] - [50] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] - [51] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] - [52] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] - [53] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] - [54] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] - [55] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] - [56] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] - [57] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] + [47] (byte*) init_plot_tables::yoffs#2 ← phi( init_plot_tables::@4/(byte*) init_plot_tables::yoffs#4 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] + [47] (byte) init_plot_tables::y#2 ← phi( init_plot_tables::@4/(byte) init_plot_tables::y#1 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] + [48] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] + [49] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] + [50] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] + [51] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] + [52] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] + [53] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] + [54] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] + [55] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] to:init_plot_tables::@7 init_plot_tables::@7: scope:[init_plot_tables] from init_plot_tables::@3 - [58] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] + [56] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] to:init_plot_tables::@4 init_plot_tables::@4: scope:[init_plot_tables] from init_plot_tables::@3 init_plot_tables::@7 - [59] (byte*) init_plot_tables::yoffs#4 ← phi( init_plot_tables::@3/(byte*) init_plot_tables::yoffs#2 init_plot_tables::@7/(byte*) init_plot_tables::yoffs#1 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#4 ] - [60] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] - [61] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] + [57] (byte*) init_plot_tables::yoffs#4 ← phi( init_plot_tables::@3/(byte*) init_plot_tables::yoffs#2 init_plot_tables::@7/(byte*) init_plot_tables::yoffs#1 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#4 ] + [58] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] + [59] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] to:init_plot_tables::@return init_plot_tables::@return: scope:[init_plot_tables] from init_plot_tables::@4 - [62] return [ ] + [60] return [ ] to:@return init_plot_tables::@10: scope:[init_plot_tables] from init_plot_tables::@1 to:init_plot_tables::@2 init_screen: scope:[init_screen] from main - [63] phi() [ ] + [61] phi() [ ] to:init_screen::@1 init_screen::@1: scope:[init_screen] from init_screen init_screen::@1 - [64] (byte*) init_screen::b#2 ← phi( init_screen/(const byte*) BITMAP#0 init_screen::@1/(byte*) init_screen::b#1 ) [ init_screen::b#2 ] - [65] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] - [66] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] - [67] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] + [62] (byte*) init_screen::b#2 ← phi( init_screen/(const byte*) BITMAP#0 init_screen::@1/(byte*) init_screen::b#1 ) [ init_screen::b#2 ] + [63] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] + [64] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] + [65] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] to:init_screen::@2 init_screen::@2: scope:[init_screen] from init_screen::@1 init_screen::@2 - [68] (byte*) init_screen::c#2 ← phi( init_screen::@2/(byte*) init_screen::c#1 init_screen::@1/(const byte*) SCREEN#0 ) [ init_screen::c#2 ] - [69] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] - [70] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] - [71] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] + [66] (byte*) init_screen::c#2 ← phi( init_screen::@2/(byte*) init_screen::c#1 init_screen::@1/(const byte*) SCREEN#0 ) [ init_screen::c#2 ] + [67] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] + [68] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] + [69] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] to:init_screen::@return init_screen::@return: scope:[init_screen] from init_screen::@2 - [72] return [ ] + [70] return [ ] to:@return CONTROL FLOW GRAPH - PHI MEM COALESCED @@ -5615,113 +5567,111 @@ main::@2: scope:[main] from main::@2 main::@5 main::@7 [7] if(*((const byte*) RASTER#0)!=(byte) 255) goto main::@2 [ ] ( main:0 [ ] ) to:main::@3 main::@3: scope:[main] from main::@2 - [8] (byte~) main::$6 ← *((const byte*) BGCOL#0) + (byte) 1 [ main::$6 ] ( main:0 [ main::$6 ] ) - [9] *((const byte*) BGCOL#0) ← (byte~) main::$6 [ ] ( main:0 [ ] ) - [10] call plots param-assignment [ ] ( main:0 [ ] ) + [8] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) + [9] call plots param-assignment [ ] ( main:0 [ ] ) to:main::@7 main::@7: scope:[main] from main::@3 - [11] (byte~) main::$8 ← *((const byte*) BGCOL#0) - (byte) 1 [ main::$8 ] ( main:0 [ main::$8 ] ) - [12] *((const byte*) BGCOL#0) ← (byte~) main::$8 [ ] ( main:0 [ ] ) - [13] if(true) goto main::@2 [ ] ( main:0 [ ] ) + [10] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) + [11] if(true) goto main::@2 [ ] ( main:0 [ ] ) to:main::@return main::@return: scope:[main] from main::@7 - [14] return [ ] ( main:0 [ ] ) + [12] return [ ] ( main:0 [ ] ) to:@return plots: scope:[plots] from main::@3 - [15] phi() [ ] ( main:0::plots:10 [ ] ) + [13] phi() [ ] ( main:0::plots:9 [ ] ) to:plots::@1 plots::@1: scope:[plots] from plots plots::@3 - [16] (byte) plots::i#2 ← phi( plots/(byte) 0 plots::@3/(byte) plots::i#1 ) [ plots::i#2 ] ( main:0::plots:10 [ plots::i#2 ] ) - [17] (byte~) plots::$0 ← (const byte[]) plots_x#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 ] ( main:0::plots:10 [ plots::i#2 plots::$0 ] ) - [18] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:0::plots:10 [ plots::i#2 plots::$0 plots::$1 ] ) - [19] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:0::plots:10 [ plots::i#2 plots::$1 plot::x#0 ] ) - [20] (byte) plot::y#0 ← (byte~) plots::$1 [ plots::i#2 plot::x#0 plot::y#0 ] ( main:0::plots:10 [ plots::i#2 plot::x#0 plot::y#0 ] ) - [21] call plot param-assignment [ plots::i#2 ] ( main:0::plots:10 [ plots::i#2 ] ) + [14] (byte) plots::i#2 ← phi( plots/(byte) 0 plots::@3/(byte) plots::i#1 ) [ plots::i#2 ] ( main:0::plots:9 [ plots::i#2 ] ) + [15] (byte~) plots::$0 ← (const byte[]) plots_x#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 ] ( main:0::plots:9 [ plots::i#2 plots::$0 ] ) + [16] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:0::plots:9 [ plots::i#2 plots::$0 plots::$1 ] ) + [17] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:0::plots:9 [ plots::i#2 plots::$1 plot::x#0 ] ) + [18] (byte) plot::y#0 ← (byte~) plots::$1 [ plots::i#2 plot::x#0 plot::y#0 ] ( main:0::plots:9 [ plots::i#2 plot::x#0 plot::y#0 ] ) + [19] call plot param-assignment [ plots::i#2 ] ( main:0::plots:9 [ plots::i#2 ] ) to:plots::@3 plots::@3: scope:[plots] from plots::@1 - [22] (byte) plots::i#1 ← ++ (byte) plots::i#2 [ plots::i#1 ] ( main:0::plots:10 [ plots::i#1 ] ) - [23] if((byte) plots::i#1<(const byte) plots_cnt#0) goto plots::@1 [ plots::i#1 ] ( main:0::plots:10 [ plots::i#1 ] ) + [20] (byte) plots::i#1 ← ++ (byte) plots::i#2 [ plots::i#1 ] ( main:0::plots:9 [ plots::i#1 ] ) + [21] if((byte) plots::i#1<(const byte) plots_cnt#0) goto plots::@1 [ plots::i#1 ] ( main:0::plots:9 [ plots::i#1 ] ) to:plots::@return plots::@return: scope:[plots] from plots::@3 - [24] return [ ] ( main:0::plots:10 [ ] ) + [22] return [ ] ( main:0::plots:9 [ ] ) to:@return plot: scope:[plot] from plots::@1 - [25] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::$0 ] ) - [26] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#0 plot::y#0 plot::plotter_x#1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 ] ) - [27] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ) - [28] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 ] ) - [29] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#0 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ) - [30] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ) - [31] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#0 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ) - [32] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ) - [33] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter#0 ] ) - [34] (byte~) plot::$5 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#0 plot::$5 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::plotter#0 plot::$5 ] ) - [35] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::plotter#0 plot::$6 ] ) - [36] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] ( main:0::plots:10::plot:21 [ plots::i#2 ] ) + [23] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::$0 ] ) + [24] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#0 plot::y#0 plot::plotter_x#1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 ] ) + [25] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ) + [26] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 ] ) + [27] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#0 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ) + [28] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ) + [29] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#0 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ) + [30] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ) + [31] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter#0 ] ) + [32] (byte~) plot::$5 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#0 plot::$5 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::plotter#0 plot::$5 ] ) + [33] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::plotter#0 plot::$6 ] ) + [34] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] ( main:0::plots:9::plot:19 [ plots::i#2 ] ) to:plot::@return plot::@return: scope:[plot] from plot - [37] return [ ] ( main:0::plots:10::plot:21 [ plots::i#2 ] ) + [35] return [ ] ( main:0::plots:9::plot:19 [ plots::i#2 ] ) to:@return init_plot_tables: scope:[init_plot_tables] from main::@5 - [38] phi() [ ] ( main:0::init_plot_tables:6 [ ] ) + [36] phi() [ ] ( main:0::init_plot_tables:6 [ ] ) to:init_plot_tables::@1 init_plot_tables::@1: scope:[init_plot_tables] from init_plot_tables init_plot_tables::@2 - [39] (byte) init_plot_tables::bits#3 ← phi( init_plot_tables/(byte) 128 init_plot_tables::@2/(byte) init_plot_tables::bits#4 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) - [39] (byte) init_plot_tables::x#2 ← phi( init_plot_tables/(byte) 0 init_plot_tables::@2/(byte) init_plot_tables::x#1 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) - [40] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ) - [41] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) - [42] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) - [43] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) - [44] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ) - [45] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 ] ) + [37] (byte) init_plot_tables::bits#3 ← phi( init_plot_tables/(byte) 128 init_plot_tables::@2/(byte) init_plot_tables::bits#4 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) + [37] (byte) init_plot_tables::x#2 ← phi( init_plot_tables/(byte) 0 init_plot_tables::@2/(byte) init_plot_tables::x#1 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) + [38] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ) + [39] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) + [40] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) + [41] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) + [42] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ) + [43] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 ] ) to:init_plot_tables::@2 init_plot_tables::@2: scope:[init_plot_tables] from init_plot_tables::@1 init_plot_tables::@10 - [46] (byte) init_plot_tables::bits#4 ← phi( init_plot_tables::@10/(byte) init_plot_tables::bits#1 init_plot_tables::@1/(byte) 128 ) [ init_plot_tables::x#2 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#4 ] ) - [47] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) - [48] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) + [44] (byte) init_plot_tables::bits#4 ← phi( init_plot_tables::@10/(byte) init_plot_tables::bits#1 init_plot_tables::@1/(byte) 128 ) [ init_plot_tables::x#2 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#4 ] ) + [45] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) + [46] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) to:init_plot_tables::@3 init_plot_tables::@3: scope:[init_plot_tables] from init_plot_tables::@2 init_plot_tables::@4 - [49] (byte*) init_plot_tables::yoffs#2 ← phi( init_plot_tables::@4/(byte*) init_plot_tables::yoffs#4 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) - [49] (byte) init_plot_tables::y#2 ← phi( init_plot_tables::@4/(byte) init_plot_tables::y#1 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) - [50] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) - [51] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ) - [52] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ) - [53] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) - [54] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ) - [55] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) - [56] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) - [57] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) + [47] (byte*) init_plot_tables::yoffs#2 ← phi( init_plot_tables::@4/(byte*) init_plot_tables::yoffs#4 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) + [47] (byte) init_plot_tables::y#2 ← phi( init_plot_tables::@4/(byte) init_plot_tables::y#1 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) + [48] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) + [49] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ) + [50] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ) + [51] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) + [52] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ) + [53] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) + [54] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) + [55] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) to:init_plot_tables::@7 init_plot_tables::@7: scope:[init_plot_tables] from init_plot_tables::@3 - [58] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) + [56] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) to:init_plot_tables::@4 init_plot_tables::@4: scope:[init_plot_tables] from init_plot_tables::@3 init_plot_tables::@7 - [59] (byte*) init_plot_tables::yoffs#4 ← phi( init_plot_tables::@3/(byte*) init_plot_tables::yoffs#2 init_plot_tables::@7/(byte*) init_plot_tables::yoffs#1 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#4 ] ) - [60] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) - [61] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) + [57] (byte*) init_plot_tables::yoffs#4 ← phi( init_plot_tables::@3/(byte*) init_plot_tables::yoffs#2 init_plot_tables::@7/(byte*) init_plot_tables::yoffs#1 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#4 ] ) + [58] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) + [59] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) to:init_plot_tables::@return init_plot_tables::@return: scope:[init_plot_tables] from init_plot_tables::@4 - [62] return [ ] ( main:0::init_plot_tables:6 [ ] ) + [60] return [ ] ( main:0::init_plot_tables:6 [ ] ) to:@return init_plot_tables::@10: scope:[init_plot_tables] from init_plot_tables::@1 to:init_plot_tables::@2 init_screen: scope:[init_screen] from main - [63] phi() [ ] ( main:0::init_screen:5 [ ] ) + [61] phi() [ ] ( main:0::init_screen:5 [ ] ) to:init_screen::@1 init_screen::@1: scope:[init_screen] from init_screen init_screen::@1 - [64] (byte*) init_screen::b#2 ← phi( init_screen/(const byte*) BITMAP#0 init_screen::@1/(byte*) init_screen::b#1 ) [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) - [65] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) - [66] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) - [67] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) + [62] (byte*) init_screen::b#2 ← phi( init_screen/(const byte*) BITMAP#0 init_screen::@1/(byte*) init_screen::b#1 ) [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) + [63] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) + [64] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) + [65] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) to:init_screen::@2 init_screen::@2: scope:[init_screen] from init_screen::@1 init_screen::@2 - [68] (byte*) init_screen::c#2 ← phi( init_screen::@2/(byte*) init_screen::c#1 init_screen::@1/(const byte*) SCREEN#0 ) [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) - [69] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) - [70] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) - [71] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) + [66] (byte*) init_screen::c#2 ← phi( init_screen::@2/(byte*) init_screen::c#1 init_screen::@1/(const byte*) SCREEN#0 ) [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) + [67] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) + [68] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) + [69] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) to:init_screen::@return init_screen::@return: scope:[init_screen] from init_screen::@2 - [72] return [ ] ( main:0::init_screen:5 [ ] ) + [70] return [ ] ( main:0::init_screen:5 [ ] ) to:@return DOMINATORS @@ -5845,8 +5795,6 @@ VARIABLE REGISTER WEIGHTS (byte*) init_screen::c#1 16.5 (byte*) init_screen::c#2 16.5 (void()) main() -(byte~) main::$6 22.0 -(byte~) main::$8 22.0 (void()) plot((byte) plot::x , (byte) plot::y) (byte~) plot::$0 4.0 (byte~) plot::$1 4.0 @@ -5889,8 +5837,6 @@ Initial phi equivalence classes [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ] [ init_screen::b#2 init_screen::b#1 ] [ init_screen::c#2 init_screen::c#1 ] -Added variable main::$6 to zero page equivalence class [ main::$6 ] -Added variable main::$8 to zero page equivalence class [ main::$8 ] Added variable plots::$0 to zero page equivalence class [ plots::$0 ] Added variable plots::$1 to zero page equivalence class [ plots::$1 ] Added variable plot::x#0 to zero page equivalence class [ plot::x#0 ] @@ -5920,8 +5866,6 @@ Complete equivalence classes [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ] [ init_screen::b#2 init_screen::b#1 ] [ init_screen::c#2 init_screen::c#1 ] -[ main::$6 ] -[ main::$8 ] [ plots::$0 ] [ plots::$1 ] [ plot::x#0 ] @@ -5950,29 +5894,27 @@ Allocated zp ZP_BYTE:5 [ init_plot_tables::y#2 init_plot_tables::y#1 ] Allocated zp ZP_PTR_BYTE:6 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ] Allocated zp ZP_PTR_BYTE:8 [ init_screen::b#2 init_screen::b#1 ] Allocated zp ZP_PTR_BYTE:10 [ init_screen::c#2 init_screen::c#1 ] -Allocated zp ZP_BYTE:12 [ main::$6 ] -Allocated zp ZP_BYTE:13 [ main::$8 ] -Allocated zp ZP_BYTE:14 [ plots::$0 ] -Allocated zp ZP_BYTE:15 [ plots::$1 ] -Allocated zp ZP_BYTE:16 [ plot::x#0 ] -Allocated zp ZP_BYTE:17 [ plot::y#0 ] -Allocated zp ZP_BYTE:18 [ plot::$0 ] -Allocated zp ZP_PTR_BYTE:19 [ plot::plotter_x#1 ] -Allocated zp ZP_BYTE:21 [ plot::$1 ] -Allocated zp ZP_PTR_BYTE:22 [ plot::plotter_x#2 ] -Allocated zp ZP_BYTE:24 [ plot::$2 ] -Allocated zp ZP_PTR_BYTE:25 [ plot::plotter_y#1 ] -Allocated zp ZP_BYTE:27 [ plot::$3 ] -Allocated zp ZP_PTR_BYTE:28 [ plot::plotter_y#2 ] -Allocated zp ZP_PTR_BYTE:30 [ plot::plotter#0 ] -Allocated zp ZP_BYTE:32 [ plot::$5 ] -Allocated zp ZP_BYTE:33 [ plot::$6 ] -Allocated zp ZP_BYTE:34 [ init_plot_tables::$0 ] -Allocated zp ZP_BYTE:35 [ init_plot_tables::$6 ] -Allocated zp ZP_BYTE:36 [ init_plot_tables::$7 ] -Allocated zp ZP_BYTE:37 [ init_plot_tables::$8 ] -Allocated zp ZP_BYTE:38 [ init_plot_tables::$9 ] -Allocated zp ZP_BYTE:39 [ init_plot_tables::$10 ] +Allocated zp ZP_BYTE:12 [ plots::$0 ] +Allocated zp ZP_BYTE:13 [ plots::$1 ] +Allocated zp ZP_BYTE:14 [ plot::x#0 ] +Allocated zp ZP_BYTE:15 [ plot::y#0 ] +Allocated zp ZP_BYTE:16 [ plot::$0 ] +Allocated zp ZP_PTR_BYTE:17 [ plot::plotter_x#1 ] +Allocated zp ZP_BYTE:19 [ plot::$1 ] +Allocated zp ZP_PTR_BYTE:20 [ plot::plotter_x#2 ] +Allocated zp ZP_BYTE:22 [ plot::$2 ] +Allocated zp ZP_PTR_BYTE:23 [ plot::plotter_y#1 ] +Allocated zp ZP_BYTE:25 [ plot::$3 ] +Allocated zp ZP_PTR_BYTE:26 [ plot::plotter_y#2 ] +Allocated zp ZP_PTR_BYTE:28 [ plot::plotter#0 ] +Allocated zp ZP_BYTE:30 [ plot::$5 ] +Allocated zp ZP_BYTE:31 [ plot::$6 ] +Allocated zp ZP_BYTE:32 [ init_plot_tables::$0 ] +Allocated zp ZP_BYTE:33 [ init_plot_tables::$6 ] +Allocated zp ZP_BYTE:34 [ init_plot_tables::$7 ] +Allocated zp ZP_BYTE:35 [ init_plot_tables::$8 ] +Allocated zp ZP_BYTE:36 [ init_plot_tables::$9 ] +Allocated zp ZP_BYTE:37 [ init_plot_tables::$10 ] INITIAL ASM //SEG0 Basic Upstart .pc = $801 "Basic" @@ -6015,8 +5957,6 @@ b5: bend: //SEG6 main main: { - .label _6 = $c - .label _8 = $d //SEG7 [1] *((const byte*) BGCOL#0) ← (byte) 0 [ ] ( main:0 [ ] ) -- _star_cowo1=coby2 lda #0 sta BGCOL @@ -6030,14 +5970,14 @@ main: { lda #$18 sta D018 //SEG11 [5] call init_screen param-assignment [ ] ( main:0 [ ] ) - //SEG12 [63] phi from main to init_screen [phi:main->init_screen] + //SEG12 [61] phi from main to init_screen [phi:main->init_screen] init_screen_from_main: jsr init_screen jmp b5 //SEG13 main::@5 b5: //SEG14 [6] call init_plot_tables param-assignment [ ] ( main:0 [ ] ) - //SEG15 [38] phi from main::@5 to init_plot_tables [phi:main::@5->init_plot_tables] + //SEG15 [36] phi from main::@5 to init_plot_tables [phi:main::@5->init_plot_tables] init_plot_tables_from_b5: jsr init_plot_tables jmp b2 @@ -6050,137 +5990,125 @@ main: { jmp b3 //SEG18 main::@3 b3: - //SEG19 [8] (byte~) main::$6 ← *((const byte*) BGCOL#0) + (byte) 1 [ main::$6 ] ( main:0 [ main::$6 ] ) -- zpby1=_star_cowo1_plus_1 - lda BGCOL - clc - adc #1 - sta _6 - //SEG20 [9] *((const byte*) BGCOL#0) ← (byte~) main::$6 [ ] ( main:0 [ ] ) -- _star_cowo1=zpby1 - lda _6 - sta BGCOL - //SEG21 [10] call plots param-assignment [ ] ( main:0 [ ] ) - //SEG22 [15] phi from main::@3 to plots [phi:main::@3->plots] + //SEG19 [8] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) -- _star_cowo1=_inc__star_cowo1 + inc BGCOL + //SEG20 [9] call plots param-assignment [ ] ( main:0 [ ] ) + //SEG21 [13] phi from main::@3 to plots [phi:main::@3->plots] plots_from_b3: jsr plots jmp b7 - //SEG23 main::@7 + //SEG22 main::@7 b7: - //SEG24 [11] (byte~) main::$8 ← *((const byte*) BGCOL#0) - (byte) 1 [ main::$8 ] ( main:0 [ main::$8 ] ) -- zpby1=_star_cowo1_minus_1 - lda BGCOL - sec - sbc #1 - sta _8 - //SEG25 [12] *((const byte*) BGCOL#0) ← (byte~) main::$8 [ ] ( main:0 [ ] ) -- _star_cowo1=zpby1 - lda _8 - sta BGCOL - //SEG26 [13] if(true) goto main::@2 [ ] ( main:0 [ ] ) -- true_then_la1 + //SEG23 [10] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) -- _star_cowo1=_dec__star_cowo1 + dec BGCOL + //SEG24 [11] if(true) goto main::@2 [ ] ( main:0 [ ] ) -- true_then_la1 jmp b2 jmp breturn - //SEG27 main::@return + //SEG25 main::@return breturn: - //SEG28 [14] return [ ] ( main:0 [ ] ) + //SEG26 [12] return [ ] ( main:0 [ ] ) rts } -//SEG29 plots +//SEG27 plots plots: { - .label _0 = $e - .label _1 = $f + .label _0 = $c + .label _1 = $d .label i = 2 - //SEG30 [16] phi from plots to plots::@1 [phi:plots->plots::@1] + //SEG28 [14] phi from plots to plots::@1 [phi:plots->plots::@1] b1_from_plots: - //SEG31 [16] phi (byte) plots::i#2 = (byte) 0 [phi:plots->plots::@1#0] -- zpby1=coby1 + //SEG29 [14] phi (byte) plots::i#2 = (byte) 0 [phi:plots->plots::@1#0] -- zpby1=coby1 lda #0 sta i jmp b1 - //SEG32 [16] phi from plots::@3 to plots::@1 [phi:plots::@3->plots::@1] + //SEG30 [14] phi from plots::@3 to plots::@1 [phi:plots::@3->plots::@1] b1_from_b3: - //SEG33 [16] phi (byte) plots::i#2 = (byte) plots::i#1 [phi:plots::@3->plots::@1#0] -- register_copy + //SEG31 [14] phi (byte) plots::i#2 = (byte) plots::i#1 [phi:plots::@3->plots::@1#0] -- register_copy jmp b1 - //SEG34 plots::@1 + //SEG32 plots::@1 b1: - //SEG35 [17] (byte~) plots::$0 ← (const byte[]) plots_x#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 ] ( main:0::plots:10 [ plots::i#2 plots::$0 ] ) -- zpby1=cowo1_staridx_zpby2 + //SEG33 [15] (byte~) plots::$0 ← (const byte[]) plots_x#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 ] ( main:0::plots:9 [ plots::i#2 plots::$0 ] ) -- zpby1=cowo1_staridx_zpby2 ldx i lda plots_x,x sta _0 - //SEG36 [18] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:0::plots:10 [ plots::i#2 plots::$0 plots::$1 ] ) -- zpby1=cowo1_staridx_zpby2 + //SEG34 [16] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:0::plots:9 [ plots::i#2 plots::$0 plots::$1 ] ) -- zpby1=cowo1_staridx_zpby2 ldx i lda plots_y,x sta _1 - //SEG37 [19] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:0::plots:10 [ plots::i#2 plots::$1 plot::x#0 ] ) -- zpby1=zpby2 + //SEG35 [17] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:0::plots:9 [ plots::i#2 plots::$1 plot::x#0 ] ) -- zpby1=zpby2 lda _0 sta plot.x - //SEG38 [20] (byte) plot::y#0 ← (byte~) plots::$1 [ plots::i#2 plot::x#0 plot::y#0 ] ( main:0::plots:10 [ plots::i#2 plot::x#0 plot::y#0 ] ) -- zpby1=zpby2 + //SEG36 [18] (byte) plot::y#0 ← (byte~) plots::$1 [ plots::i#2 plot::x#0 plot::y#0 ] ( main:0::plots:9 [ plots::i#2 plot::x#0 plot::y#0 ] ) -- zpby1=zpby2 lda _1 sta plot.y - //SEG39 [21] call plot param-assignment [ plots::i#2 ] ( main:0::plots:10 [ plots::i#2 ] ) + //SEG37 [19] call plot param-assignment [ plots::i#2 ] ( main:0::plots:9 [ plots::i#2 ] ) jsr plot jmp b3 - //SEG40 plots::@3 + //SEG38 plots::@3 b3: - //SEG41 [22] (byte) plots::i#1 ← ++ (byte) plots::i#2 [ plots::i#1 ] ( main:0::plots:10 [ plots::i#1 ] ) -- zpby1=_inc_zpby1 + //SEG39 [20] (byte) plots::i#1 ← ++ (byte) plots::i#2 [ plots::i#1 ] ( main:0::plots:9 [ plots::i#1 ] ) -- zpby1=_inc_zpby1 inc i - //SEG42 [23] if((byte) plots::i#1<(const byte) plots_cnt#0) goto plots::@1 [ plots::i#1 ] ( main:0::plots:10 [ plots::i#1 ] ) -- zpby1_lt_coby1_then_la1 + //SEG40 [21] if((byte) plots::i#1<(const byte) plots_cnt#0) goto plots::@1 [ plots::i#1 ] ( main:0::plots:9 [ plots::i#1 ] ) -- zpby1_lt_coby1_then_la1 lda i cmp #plots_cnt bcc b1_from_b3 jmp breturn - //SEG43 plots::@return + //SEG41 plots::@return breturn: - //SEG44 [24] return [ ] ( main:0::plots:10 [ ] ) + //SEG42 [22] return [ ] ( main:0::plots:9 [ ] ) rts } -//SEG45 plot +//SEG43 plot plot: { - .label _0 = $12 - .label _1 = $15 - .label _2 = $18 - .label _3 = $1b - .label _5 = $20 - .label _6 = $21 - .label x = $10 - .label y = $11 - .label plotter_x = $13 - .label plotter_x_2 = $16 - .label plotter_y = $19 - .label plotter_y_2 = $1c - .label plotter = $1e - //SEG46 [25] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::$0 ] ) -- zpby1=cowo1_staridx_zpby2 + .label _0 = $10 + .label _1 = $13 + .label _2 = $16 + .label _3 = $19 + .label _5 = $1e + .label _6 = $1f + .label x = $e + .label y = $f + .label plotter_x = $11 + .label plotter_x_2 = $14 + .label plotter_y = $17 + .label plotter_y_2 = $1a + .label plotter = $1c + //SEG44 [23] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::$0 ] ) -- zpby1=cowo1_staridx_zpby2 ldx x lda plot_xhi,x sta _0 - //SEG47 [26] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#0 plot::y#0 plot::plotter_x#1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 ] ) -- zpptrby1=coby1_sethi_zpby1 + //SEG45 [24] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#0 plot::y#0 plot::plotter_x#1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 ] ) -- zpptrby1=coby1_sethi_zpby1 lda #<0 sta plotter_x lda _0 sta plotter_x+1 - //SEG48 [27] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ) -- zpby1=cowo1_staridx_zpby2 + //SEG46 [25] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ) -- zpby1=cowo1_staridx_zpby2 ldx x lda plot_xlo,x sta _1 - //SEG49 [28] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 ] ) -- zpptrby1=zpptrby2_setlo_zpby1 + //SEG47 [26] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 ] ) -- zpptrby1=zpptrby2_setlo_zpby1 lda _1 sta plotter_x_2 lda plotter_x+1 sta plotter_x_2+1 - //SEG50 [29] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#0 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ) -- zpby1=cowo1_staridx_zpby2 + //SEG48 [27] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#0 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ) -- zpby1=cowo1_staridx_zpby2 ldx y lda plot_yhi,x sta _2 - //SEG51 [30] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ) -- zpptrby1=coby1_sethi_zpby1 + //SEG49 [28] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ) -- zpptrby1=coby1_sethi_zpby1 lda #<0 sta plotter_y lda _2 sta plotter_y+1 - //SEG52 [31] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#0 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ) -- zpby1=cowo1_staridx_zpby2 + //SEG50 [29] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#0 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ) -- zpby1=cowo1_staridx_zpby2 ldx y lda plot_ylo,x sta _3 - //SEG53 [32] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ) -- zpptrby1=zpptrby2_setlo_zpby1 + //SEG51 [30] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ) -- zpptrby1=zpptrby2_setlo_zpby1 lda _3 sta plotter_y_2 lda plotter_y+1 sta plotter_y_2+1 - //SEG54 [33] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter#0 ] ) -- zpptrby1=zpptrby2_plus_zpptrby3 + //SEG52 [31] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter#0 ] ) -- zpptrby1=zpptrby2_plus_zpptrby3 lda plotter_x_2 clc adc plotter_y_2 @@ -6188,140 +6116,140 @@ plot: { lda plotter_x_2+1 adc plotter_y_2+1 sta plotter+1 - //SEG55 [34] (byte~) plot::$5 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#0 plot::$5 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::plotter#0 plot::$5 ] ) -- zpby1=cowo1_staridx_zpby2 + //SEG53 [32] (byte~) plot::$5 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#0 plot::$5 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::plotter#0 plot::$5 ] ) -- zpby1=cowo1_staridx_zpby2 ldx x lda plot_bit,x sta _5 - //SEG56 [35] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::plotter#0 plot::$6 ] ) -- zpby1=_star_zpptrby1_bor_zpby2 + //SEG54 [33] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::plotter#0 plot::$6 ] ) -- zpby1=_star_zpptrby1_bor_zpby2 ldy #0 lda (plotter),y ora _5 sta _6 - //SEG57 [36] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] ( main:0::plots:10::plot:21 [ plots::i#2 ] ) -- _star_zpptrby1=zpby1 + //SEG55 [34] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] ( main:0::plots:9::plot:19 [ plots::i#2 ] ) -- _star_zpptrby1=zpby1 ldy #0 lda _6 sta (plotter),y jmp breturn - //SEG58 plot::@return + //SEG56 plot::@return breturn: - //SEG59 [37] return [ ] ( main:0::plots:10::plot:21 [ plots::i#2 ] ) + //SEG57 [35] return [ ] ( main:0::plots:9::plot:19 [ plots::i#2 ] ) rts } -//SEG60 init_plot_tables +//SEG58 init_plot_tables init_plot_tables: { - .label _0 = $22 - .label _6 = $23 - .label _7 = $24 - .label _8 = $25 - .label _9 = $26 - .label _10 = $27 + .label _0 = $20 + .label _6 = $21 + .label _7 = $22 + .label _8 = $23 + .label _9 = $24 + .label _10 = $25 .label bits = 4 .label x = 3 .label y = 5 .label yoffs = 6 - //SEG61 [39] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] + //SEG59 [37] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] b1_from_init_plot_tables: - //SEG62 [39] phi (byte) init_plot_tables::bits#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- zpby1=coby1 + //SEG60 [37] phi (byte) init_plot_tables::bits#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- zpby1=coby1 lda #$80 sta bits - //SEG63 [39] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- zpby1=coby1 + //SEG61 [37] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- zpby1=coby1 lda #0 sta x jmp b1 - //SEG64 [39] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] + //SEG62 [37] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] b1_from_b2: - //SEG65 [39] phi (byte) init_plot_tables::bits#3 = (byte) init_plot_tables::bits#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy - //SEG66 [39] phi (byte) init_plot_tables::x#2 = (byte) init_plot_tables::x#1 [phi:init_plot_tables::@2->init_plot_tables::@1#1] -- register_copy + //SEG63 [37] phi (byte) init_plot_tables::bits#3 = (byte) init_plot_tables::bits#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy + //SEG64 [37] phi (byte) init_plot_tables::x#2 = (byte) init_plot_tables::x#1 [phi:init_plot_tables::@2->init_plot_tables::@1#1] -- register_copy jmp b1 - //SEG67 init_plot_tables::@1 + //SEG65 init_plot_tables::@1 b1: - //SEG68 [40] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ) -- zpby1=zpby2_band_coby1 + //SEG66 [38] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ) -- zpby1=zpby2_band_coby1 lda x and #$f8 sta _0 - //SEG69 [41] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_zpby1=zpby2 + //SEG67 [39] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_zpby1=zpby2 lda _0 ldx x sta plot_xlo,x - //SEG70 [42] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_zpby1=coby2 + //SEG68 [40] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_zpby1=coby2 lda #>BITMAP ldx x sta plot_xhi,x - //SEG71 [43] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_zpby1=zpby2 + //SEG69 [41] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_zpby1=zpby2 lda bits ldx x sta plot_bit,x - //SEG72 [44] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ) -- zpby1=zpby1_ror_1 + //SEG70 [42] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ) -- zpby1=zpby1_ror_1 lsr sta bits - //SEG73 [45] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 ] ) -- zpby1_neq_0_then_la1 + //SEG71 [43] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 ] ) -- zpby1_neq_0_then_la1 lda bits bne b10 - //SEG74 [46] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] + //SEG72 [44] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] b2_from_b1: - //SEG75 [46] phi (byte) init_plot_tables::bits#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- zpby1=coby1 + //SEG73 [44] phi (byte) init_plot_tables::bits#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- zpby1=coby1 lda #$80 sta bits jmp b2 - //SEG76 init_plot_tables::@2 + //SEG74 init_plot_tables::@2 b2: - //SEG77 [47] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- zpby1=_inc_zpby1 + //SEG75 [45] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- zpby1=_inc_zpby1 inc x - //SEG78 [48] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- zpby1_neq_0_then_la1 + //SEG76 [46] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- zpby1_neq_0_then_la1 lda x bne b1_from_b2 - //SEG79 [49] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] + //SEG77 [47] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] b3_from_b2: - //SEG80 [49] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 + //SEG78 [47] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 lda #0 sta yoffs lda #0 sta yoffs+1 - //SEG81 [49] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- zpby1=coby1 + //SEG79 [47] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- zpby1=coby1 lda #0 sta y jmp b3 - //SEG82 [49] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] + //SEG80 [47] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] b3_from_b4: - //SEG83 [49] phi (byte*) init_plot_tables::yoffs#2 = (byte*) init_plot_tables::yoffs#4 [phi:init_plot_tables::@4->init_plot_tables::@3#0] -- register_copy - //SEG84 [49] phi (byte) init_plot_tables::y#2 = (byte) init_plot_tables::y#1 [phi:init_plot_tables::@4->init_plot_tables::@3#1] -- register_copy + //SEG81 [47] phi (byte*) init_plot_tables::yoffs#2 = (byte*) init_plot_tables::yoffs#4 [phi:init_plot_tables::@4->init_plot_tables::@3#0] -- register_copy + //SEG82 [47] phi (byte) init_plot_tables::y#2 = (byte) init_plot_tables::y#1 [phi:init_plot_tables::@4->init_plot_tables::@3#1] -- register_copy jmp b3 - //SEG85 init_plot_tables::@3 + //SEG83 init_plot_tables::@3 b3: - //SEG86 [50] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) -- zpby1=zpby2_band_coby1 + //SEG84 [48] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) -- zpby1=zpby2_band_coby1 lda y and #7 sta _6 - //SEG87 [51] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ) -- zpby1=_lo_zpptrby1 + //SEG85 [49] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ) -- zpby1=_lo_zpptrby1 lda yoffs sta _7 - //SEG88 [52] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ) -- zpby1=zpby2_bor_zpby3 + //SEG86 [50] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ) -- zpby1=zpby2_bor_zpby3 lda _6 ora _7 sta _8 - //SEG89 [53] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_zpby1=zpby2 + //SEG87 [51] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_zpby1=zpby2 lda _8 ldx y sta plot_ylo,x - //SEG90 [54] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ) -- zpby1=_hi_zpptrby1 + //SEG88 [52] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ) -- zpby1=_hi_zpptrby1 lda yoffs+1 sta _9 - //SEG91 [55] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_zpby1=zpby2 + //SEG89 [53] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_zpby1=zpby2 lda _9 ldx y sta plot_yhi,x - //SEG92 [56] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) -- zpby1=zpby2_band_coby1 + //SEG90 [54] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) -- zpby1=zpby2_band_coby1 lda y and #7 sta _10 - //SEG93 [57] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- zpby1_neq_coby1_then_la1 + //SEG91 [55] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- zpby1_neq_coby1_then_la1 lda _10 cmp #7 bne b4_from_b3 jmp b7 - //SEG94 init_plot_tables::@7 + //SEG92 init_plot_tables::@7 b7: - //SEG95 [58] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) -- zpptrby1=zpptrby1_plus_cowo1 + //SEG93 [56] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) -- zpptrby1=zpptrby1_plus_cowo1 lda yoffs clc adc #<$140 @@ -6329,88 +6257,88 @@ init_plot_tables: { lda yoffs+1 adc #>$140 sta yoffs+1 - //SEG96 [59] phi from init_plot_tables::@3 init_plot_tables::@7 to init_plot_tables::@4 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4] + //SEG94 [57] phi from init_plot_tables::@3 init_plot_tables::@7 to init_plot_tables::@4 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4] b4_from_b3: b4_from_b7: - //SEG97 [59] phi (byte*) init_plot_tables::yoffs#4 = (byte*) init_plot_tables::yoffs#2 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4#0] -- register_copy + //SEG95 [57] phi (byte*) init_plot_tables::yoffs#4 = (byte*) init_plot_tables::yoffs#2 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4#0] -- register_copy jmp b4 - //SEG98 init_plot_tables::@4 + //SEG96 init_plot_tables::@4 b4: - //SEG99 [60] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- zpby1=_inc_zpby1 + //SEG97 [58] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- zpby1=_inc_zpby1 inc y - //SEG100 [61] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- zpby1_neq_0_then_la1 + //SEG98 [59] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- zpby1_neq_0_then_la1 lda y bne b3_from_b4 jmp breturn - //SEG101 init_plot_tables::@return + //SEG99 init_plot_tables::@return breturn: - //SEG102 [62] return [ ] ( main:0::init_plot_tables:6 [ ] ) + //SEG100 [60] return [ ] ( main:0::init_plot_tables:6 [ ] ) rts - //SEG103 init_plot_tables::@10 + //SEG101 init_plot_tables::@10 b10: - //SEG104 [46] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] + //SEG102 [44] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] b2_from_b10: - //SEG105 [46] phi (byte) init_plot_tables::bits#4 = (byte) init_plot_tables::bits#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy + //SEG103 [44] phi (byte) init_plot_tables::bits#4 = (byte) init_plot_tables::bits#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy jmp b2 } -//SEG106 init_screen +//SEG104 init_screen init_screen: { .label b = 8 .label c = $a - //SEG107 [64] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] + //SEG105 [62] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] b1_from_init_screen: - //SEG108 [64] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 + //SEG106 [62] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 lda #BITMAP sta b+1 jmp b1 - //SEG109 [64] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] + //SEG107 [62] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] b1_from_b1: - //SEG110 [64] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy + //SEG108 [62] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy jmp b1 - //SEG111 init_screen::@1 + //SEG109 init_screen::@1 b1: - //SEG112 [65] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) -- _star_zpptrby1=coby1 + //SEG110 [63] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) -- _star_zpptrby1=coby1 ldy #0 lda #0 sta (b),y - //SEG113 [66] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG111 [64] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1=_inc_zpptrby1 inc b bne !+ inc b+1 !: - //SEG114 [67] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1_neq_cowo1_then_la1 + //SEG112 [65] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1_neq_cowo1_then_la1 lda b+1 cmp #>BITMAP+$2000 bne b1_from_b1 lda b cmp #init_screen::@2] + //SEG113 [66] phi from init_screen::@1 to init_screen::@2 [phi:init_screen::@1->init_screen::@2] b2_from_b1: - //SEG116 [68] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 + //SEG114 [66] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 lda #SCREEN sta c+1 jmp b2 - //SEG117 [68] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] + //SEG115 [66] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] b2_from_b2: - //SEG118 [68] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy + //SEG116 [66] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy jmp b2 - //SEG119 init_screen::@2 + //SEG117 init_screen::@2 b2: - //SEG120 [69] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) -- _star_zpptrby1=coby1 + //SEG118 [67] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) -- _star_zpptrby1=coby1 ldy #0 lda #$14 sta (c),y - //SEG121 [70] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG119 [68] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1=_inc_zpptrby1 inc c bne !+ inc c+1 !: - //SEG122 [71] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1_neq_cowo1_then_la1 + //SEG120 [69] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1_neq_cowo1_then_la1 lda c+1 cmp #>SCREEN+$400 bne b2_from_b2 @@ -6418,40 +6346,38 @@ init_screen: { cmp #(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) always clobbers reg byte a -Statement [43] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) always clobbers reg byte a -Statement [50] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) always clobbers reg byte a +Statement [40] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) always clobbers reg byte a +Statement [41] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) always clobbers reg byte a +Statement [48] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:5 [ init_plot_tables::y#2 init_plot_tables::y#1 ] -Statement [54] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ) always clobbers reg byte a -Statement [56] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) always clobbers reg byte a -Statement [58] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) always clobbers reg byte a -Statement [65] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) always clobbers reg byte a reg byte y -Statement [67] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) always clobbers reg byte a -Statement [69] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) always clobbers reg byte a reg byte y -Statement [71] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) always clobbers reg byte a +Statement [52] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ) always clobbers reg byte a +Statement [54] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) always clobbers reg byte a +Statement [56] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) always clobbers reg byte a +Statement [63] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) always clobbers reg byte a reg byte y +Statement [65] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) always clobbers reg byte a +Statement [67] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) always clobbers reg byte a reg byte y +Statement [69] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) always clobbers reg byte a Statement [1] *((const byte*) BGCOL#0) ← (byte) 0 [ ] ( main:0 [ ] ) always clobbers reg byte a Statement [2] *((const byte*) FGCOL#0) ← (byte) 0 [ ] ( main:0 [ ] ) always clobbers reg byte a Statement [3] *((const byte*) D011#0) ← (const byte) BMM#0|(const byte) DEN#0|(const byte) RSEL#0|(byte) 3 [ ] ( main:0 [ ] ) always clobbers reg byte a Statement [4] *((const byte*) D018#0) ← (byte) 24 [ ] ( main:0 [ ] ) always clobbers reg byte a Statement [7] if(*((const byte*) RASTER#0)!=(byte) 255) goto main::@2 [ ] ( main:0 [ ] ) always clobbers reg byte a -Statement [8] (byte~) main::$6 ← *((const byte*) BGCOL#0) + (byte) 1 [ main::$6 ] ( main:0 [ main::$6 ] ) always clobbers reg byte a -Statement [11] (byte~) main::$8 ← *((const byte*) BGCOL#0) - (byte) 1 [ main::$8 ] ( main:0 [ main::$8 ] ) always clobbers reg byte a -Statement [28] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 ] ) always clobbers reg byte a -Statement [32] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ) always clobbers reg byte a -Statement [33] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter#0 ] ) always clobbers reg byte a -Potential register analysis [35] plot::$6 ← *(plot::plotter#0) | plot::$5 missing fragment zpby1=_star_zpptrby1_bor_aby allocation: zp ZP_PTR_BYTE:30 [ plot::plotter#0 ] reg byte a [ plot::$5 ] zp ZP_BYTE:33 [ plot::$6 ] -Potential register analysis [35] plot::$6 ← *(plot::plotter#0) | plot::$5 missing fragment zpby1=_star_zpptrby1_bor_xby allocation: zp ZP_PTR_BYTE:30 [ plot::plotter#0 ] reg byte x [ plot::$5 ] zp ZP_BYTE:33 [ plot::$6 ] -Potential register analysis [35] plot::$6 ← *(plot::plotter#0) | plot::$5 missing fragment zpby1=_star_zpptrby1_bor_yby allocation: zp ZP_PTR_BYTE:30 [ plot::plotter#0 ] reg byte y [ plot::$5 ] zp ZP_BYTE:33 [ plot::$6 ] -Potential register analysis [35] plot::$6 ← *(plot::plotter#0) | plot::$5 missing fragment aby=_star_zpptrby1_bor_aby allocation: zp ZP_PTR_BYTE:30 [ plot::plotter#0 ] reg byte a [ plot::$5 ] reg byte a [ plot::$6 ] -Potential register analysis [35] plot::$6 ← *(plot::plotter#0) | plot::$5 missing fragment aby=_star_zpptrby1_bor_xby allocation: zp ZP_PTR_BYTE:30 [ plot::plotter#0 ] reg byte x [ plot::$5 ] reg byte a [ plot::$6 ] -Potential register analysis [35] plot::$6 ← *(plot::plotter#0) | plot::$5 missing fragment aby=_star_zpptrby1_bor_yby allocation: zp ZP_PTR_BYTE:30 [ plot::plotter#0 ] reg byte y [ plot::$5 ] reg byte a [ plot::$6 ] -Potential register analysis [35] plot::$6 ← *(plot::plotter#0) | plot::$5 missing fragment xby=_star_zpptrby1_bor_aby allocation: zp ZP_PTR_BYTE:30 [ plot::plotter#0 ] reg byte a [ plot::$5 ] reg byte x [ plot::$6 ] -Potential register analysis [35] plot::$6 ← *(plot::plotter#0) | plot::$5 missing fragment xby=_star_zpptrby1_bor_xby allocation: zp ZP_PTR_BYTE:30 [ plot::plotter#0 ] reg byte x [ plot::$5 ] reg byte x [ plot::$6 ] -Potential register analysis [35] plot::$6 ← *(plot::plotter#0) | plot::$5 missing fragment xby=_star_zpptrby1_bor_yby allocation: zp ZP_PTR_BYTE:30 [ plot::plotter#0 ] reg byte y [ plot::$5 ] reg byte x [ plot::$6 ] -Potential register analysis [35] plot::$6 ← *(plot::plotter#0) | plot::$5 missing fragment yby=_star_zpptrby1_bor_aby allocation: zp ZP_PTR_BYTE:30 [ plot::plotter#0 ] reg byte a [ plot::$5 ] reg byte y [ plot::$6 ] -Potential register analysis [35] plot::$6 ← *(plot::plotter#0) | plot::$5 missing fragment yby=_star_zpptrby1_bor_xby allocation: zp ZP_PTR_BYTE:30 [ plot::plotter#0 ] reg byte x [ plot::$5 ] reg byte y [ plot::$6 ] -Potential register analysis [35] plot::$6 ← *(plot::plotter#0) | plot::$5 missing fragment yby=_star_zpptrby1_bor_yby allocation: zp ZP_PTR_BYTE:30 [ plot::plotter#0 ] reg byte y [ plot::$5 ] reg byte y [ plot::$6 ] +Statement [26] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 ] ) always clobbers reg byte a +Statement [30] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ) always clobbers reg byte a +Statement [31] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter#0 ] ) always clobbers reg byte a +Potential register analysis [33] plot::$6 ← *(plot::plotter#0) | plot::$5 missing fragment zpby1=_star_zpptrby1_bor_aby allocation: zp ZP_PTR_BYTE:28 [ plot::plotter#0 ] reg byte a [ plot::$5 ] zp ZP_BYTE:31 [ plot::$6 ] +Potential register analysis [33] plot::$6 ← *(plot::plotter#0) | plot::$5 missing fragment zpby1=_star_zpptrby1_bor_xby allocation: zp ZP_PTR_BYTE:28 [ plot::plotter#0 ] reg byte x [ plot::$5 ] zp ZP_BYTE:31 [ plot::$6 ] +Potential register analysis [33] plot::$6 ← *(plot::plotter#0) | plot::$5 missing fragment zpby1=_star_zpptrby1_bor_yby allocation: zp ZP_PTR_BYTE:28 [ plot::plotter#0 ] reg byte y [ plot::$5 ] zp ZP_BYTE:31 [ plot::$6 ] +Potential register analysis [33] plot::$6 ← *(plot::plotter#0) | plot::$5 missing fragment aby=_star_zpptrby1_bor_aby allocation: zp ZP_PTR_BYTE:28 [ plot::plotter#0 ] reg byte a [ plot::$5 ] reg byte a [ plot::$6 ] +Potential register analysis [33] plot::$6 ← *(plot::plotter#0) | plot::$5 missing fragment aby=_star_zpptrby1_bor_xby allocation: zp ZP_PTR_BYTE:28 [ plot::plotter#0 ] reg byte x [ plot::$5 ] reg byte a [ plot::$6 ] +Potential register analysis [33] plot::$6 ← *(plot::plotter#0) | plot::$5 missing fragment aby=_star_zpptrby1_bor_yby allocation: zp ZP_PTR_BYTE:28 [ plot::plotter#0 ] reg byte y [ plot::$5 ] reg byte a [ plot::$6 ] +Potential register analysis [33] plot::$6 ← *(plot::plotter#0) | plot::$5 missing fragment xby=_star_zpptrby1_bor_aby allocation: zp ZP_PTR_BYTE:28 [ plot::plotter#0 ] reg byte a [ plot::$5 ] reg byte x [ plot::$6 ] +Potential register analysis [33] plot::$6 ← *(plot::plotter#0) | plot::$5 missing fragment xby=_star_zpptrby1_bor_xby allocation: zp ZP_PTR_BYTE:28 [ plot::plotter#0 ] reg byte x [ plot::$5 ] reg byte x [ plot::$6 ] +Potential register analysis [33] plot::$6 ← *(plot::plotter#0) | plot::$5 missing fragment xby=_star_zpptrby1_bor_yby allocation: zp ZP_PTR_BYTE:28 [ plot::plotter#0 ] reg byte y [ plot::$5 ] reg byte x [ plot::$6 ] +Potential register analysis [33] plot::$6 ← *(plot::plotter#0) | plot::$5 missing fragment yby=_star_zpptrby1_bor_aby allocation: zp ZP_PTR_BYTE:28 [ plot::plotter#0 ] reg byte a [ plot::$5 ] reg byte y [ plot::$6 ] +Potential register analysis [33] plot::$6 ← *(plot::plotter#0) | plot::$5 missing fragment yby=_star_zpptrby1_bor_xby allocation: zp ZP_PTR_BYTE:28 [ plot::plotter#0 ] reg byte x [ plot::$5 ] reg byte y [ plot::$6 ] +Potential register analysis [33] plot::$6 ← *(plot::plotter#0) | plot::$5 missing fragment yby=_star_zpptrby1_bor_yby allocation: zp ZP_PTR_BYTE:28 [ plot::plotter#0 ] reg byte y [ plot::$5 ] reg byte y [ plot::$6 ] MISSING FRAGMENTS zpby1=_star_zpptrby1_bor_aby zpby1=_star_zpptrby1_bor_xby @@ -6517,19 +6441,19 @@ MISSING FRAGMENTS yby=_star_zpptrby1_bor_aby yby=_star_zpptrby1_bor_xby yby=_star_zpptrby1_bor_yby -Statement [35] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::plotter#0 plot::$6 ] ) always clobbers reg byte a reg byte y -Statement [36] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] ( main:0::plots:10::plot:21 [ plots::i#2 ] ) always clobbers reg byte y -Statement [40] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ) always clobbers reg byte a -Statement [42] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) always clobbers reg byte a -Statement [43] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) always clobbers reg byte a -Statement [50] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) always clobbers reg byte a -Statement [54] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ) always clobbers reg byte a -Statement [56] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) always clobbers reg byte a -Statement [58] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) always clobbers reg byte a -Statement [65] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) always clobbers reg byte a reg byte y -Statement [67] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) always clobbers reg byte a -Statement [69] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) always clobbers reg byte a reg byte y -Statement [71] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) always clobbers reg byte a +Statement [33] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::plotter#0 plot::$6 ] ) always clobbers reg byte a reg byte y +Statement [34] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] ( main:0::plots:9::plot:19 [ plots::i#2 ] ) always clobbers reg byte y +Statement [38] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ) always clobbers reg byte a +Statement [40] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) always clobbers reg byte a +Statement [41] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) always clobbers reg byte a +Statement [48] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) always clobbers reg byte a +Statement [52] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ) always clobbers reg byte a +Statement [54] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) always clobbers reg byte a +Statement [56] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) always clobbers reg byte a +Statement [63] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) always clobbers reg byte a reg byte y +Statement [65] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) always clobbers reg byte a +Statement [67] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) always clobbers reg byte a reg byte y +Statement [69] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) always clobbers reg byte a Potential registers zp ZP_BYTE:2 [ plots::i#2 plots::i#1 ] : zp ZP_BYTE:2 , reg byte x , Potential registers zp ZP_BYTE:3 [ init_plot_tables::x#2 init_plot_tables::x#1 ] : zp ZP_BYTE:3 , reg byte x , reg byte y , Potential registers zp ZP_BYTE:4 [ init_plot_tables::bits#3 init_plot_tables::bits#4 init_plot_tables::bits#1 ] : zp ZP_BYTE:4 , reg byte x , reg byte y , @@ -6537,78 +6461,76 @@ Potential registers zp ZP_BYTE:5 [ init_plot_tables::y#2 init_plot_tables::y#1 ] Potential registers zp ZP_PTR_BYTE:6 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ] : zp ZP_PTR_BYTE:6 , Potential registers zp ZP_PTR_BYTE:8 [ init_screen::b#2 init_screen::b#1 ] : zp ZP_PTR_BYTE:8 , Potential registers zp ZP_PTR_BYTE:10 [ init_screen::c#2 init_screen::c#1 ] : zp ZP_PTR_BYTE:10 , -Potential registers zp ZP_BYTE:12 [ main::$6 ] : zp ZP_BYTE:12 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:13 [ main::$8 ] : zp ZP_BYTE:13 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:14 [ plots::$0 ] : zp ZP_BYTE:14 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:15 [ plots::$1 ] : zp ZP_BYTE:15 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:16 [ plot::x#0 ] : zp ZP_BYTE:16 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:17 [ plot::y#0 ] : zp ZP_BYTE:17 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:18 [ plot::$0 ] : zp ZP_BYTE:18 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_PTR_BYTE:19 [ plot::plotter_x#1 ] : zp ZP_PTR_BYTE:19 , -Potential registers zp ZP_BYTE:21 [ plot::$1 ] : zp ZP_BYTE:21 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_PTR_BYTE:22 [ plot::plotter_x#2 ] : zp ZP_PTR_BYTE:22 , -Potential registers zp ZP_BYTE:24 [ plot::$2 ] : zp ZP_BYTE:24 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_PTR_BYTE:25 [ plot::plotter_y#1 ] : zp ZP_PTR_BYTE:25 , -Potential registers zp ZP_BYTE:27 [ plot::$3 ] : zp ZP_BYTE:27 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_PTR_BYTE:28 [ plot::plotter_y#2 ] : zp ZP_PTR_BYTE:28 , -Potential registers zp ZP_PTR_BYTE:30 [ plot::plotter#0 ] : zp ZP_PTR_BYTE:30 , -Potential registers zp ZP_BYTE:32 [ plot::$5 ] : zp ZP_BYTE:32 , reg byte a , reg byte x , reg byte y , reg byte alu , -Potential registers zp ZP_BYTE:33 [ plot::$6 ] : zp ZP_BYTE:33 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:34 [ init_plot_tables::$0 ] : zp ZP_BYTE:34 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:35 [ init_plot_tables::$6 ] : zp ZP_BYTE:35 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:36 [ init_plot_tables::$7 ] : zp ZP_BYTE:36 , reg byte a , reg byte x , reg byte y , reg byte alu , -Potential registers zp ZP_BYTE:37 [ init_plot_tables::$8 ] : zp ZP_BYTE:37 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:38 [ init_plot_tables::$9 ] : zp ZP_BYTE:38 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:39 [ init_plot_tables::$10 ] : zp ZP_BYTE:39 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:12 [ plots::$0 ] : zp ZP_BYTE:12 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:13 [ plots::$1 ] : zp ZP_BYTE:13 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:14 [ plot::x#0 ] : zp ZP_BYTE:14 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:15 [ plot::y#0 ] : zp ZP_BYTE:15 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:16 [ plot::$0 ] : zp ZP_BYTE:16 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_PTR_BYTE:17 [ plot::plotter_x#1 ] : zp ZP_PTR_BYTE:17 , +Potential registers zp ZP_BYTE:19 [ plot::$1 ] : zp ZP_BYTE:19 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_PTR_BYTE:20 [ plot::plotter_x#2 ] : zp ZP_PTR_BYTE:20 , +Potential registers zp ZP_BYTE:22 [ plot::$2 ] : zp ZP_BYTE:22 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_PTR_BYTE:23 [ plot::plotter_y#1 ] : zp ZP_PTR_BYTE:23 , +Potential registers zp ZP_BYTE:25 [ plot::$3 ] : zp ZP_BYTE:25 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_PTR_BYTE:26 [ plot::plotter_y#2 ] : zp ZP_PTR_BYTE:26 , +Potential registers zp ZP_PTR_BYTE:28 [ plot::plotter#0 ] : zp ZP_PTR_BYTE:28 , +Potential registers zp ZP_BYTE:30 [ plot::$5 ] : zp ZP_BYTE:30 , reg byte a , reg byte x , reg byte y , reg byte alu , +Potential registers zp ZP_BYTE:31 [ plot::$6 ] : zp ZP_BYTE:31 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:32 [ init_plot_tables::$0 ] : zp ZP_BYTE:32 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:33 [ init_plot_tables::$6 ] : zp ZP_BYTE:33 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:34 [ init_plot_tables::$7 ] : zp ZP_BYTE:34 , reg byte a , reg byte x , reg byte y , reg byte alu , +Potential registers zp ZP_BYTE:35 [ init_plot_tables::$8 ] : zp ZP_BYTE:35 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:36 [ init_plot_tables::$9 ] : zp ZP_BYTE:36 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:37 [ init_plot_tables::$10 ] : zp ZP_BYTE:37 , reg byte a , reg byte x , reg byte y , REGISTER UPLIFT SCOPES -Uplift Scope [plots] 218.83: zp ZP_BYTE:2 [ plots::i#2 plots::i#1 ] 101: zp ZP_BYTE:14 [ plots::$0 ] 101: zp ZP_BYTE:15 [ plots::$1 ] -Uplift Scope [init_plot_tables] 46.93: zp ZP_BYTE:4 [ init_plot_tables::bits#3 init_plot_tables::bits#4 init_plot_tables::bits#1 ] 39.11: zp ZP_PTR_BYTE:6 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ] 24.75: zp ZP_BYTE:3 [ init_plot_tables::x#2 init_plot_tables::x#1 ] 22.5: zp ZP_BYTE:5 [ init_plot_tables::y#2 init_plot_tables::y#1 ] 22: zp ZP_BYTE:34 [ init_plot_tables::$0 ] 22: zp ZP_BYTE:36 [ init_plot_tables::$7 ] 22: zp ZP_BYTE:37 [ init_plot_tables::$8 ] 22: zp ZP_BYTE:38 [ init_plot_tables::$9 ] 22: zp ZP_BYTE:39 [ init_plot_tables::$10 ] 11: zp ZP_BYTE:35 [ init_plot_tables::$6 ] +Uplift Scope [plots] 218.83: zp ZP_BYTE:2 [ plots::i#2 plots::i#1 ] 101: zp ZP_BYTE:12 [ plots::$0 ] 101: zp ZP_BYTE:13 [ plots::$1 ] +Uplift Scope [init_plot_tables] 46.93: zp ZP_BYTE:4 [ init_plot_tables::bits#3 init_plot_tables::bits#4 init_plot_tables::bits#1 ] 39.11: zp ZP_PTR_BYTE:6 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ] 24.75: zp ZP_BYTE:3 [ init_plot_tables::x#2 init_plot_tables::x#1 ] 22.5: zp ZP_BYTE:5 [ init_plot_tables::y#2 init_plot_tables::y#1 ] 22: zp ZP_BYTE:32 [ init_plot_tables::$0 ] 22: zp ZP_BYTE:34 [ init_plot_tables::$7 ] 22: zp ZP_BYTE:35 [ init_plot_tables::$8 ] 22: zp ZP_BYTE:36 [ init_plot_tables::$9 ] 22: zp ZP_BYTE:37 [ init_plot_tables::$10 ] 11: zp ZP_BYTE:33 [ init_plot_tables::$6 ] Uplift Scope [init_screen] 33: zp ZP_PTR_BYTE:8 [ init_screen::b#2 init_screen::b#1 ] 33: zp ZP_PTR_BYTE:10 [ init_screen::c#2 init_screen::c#1 ] -Uplift Scope [plot] 15: zp ZP_BYTE:17 [ plot::y#0 ] 9.73: zp ZP_BYTE:16 [ plot::x#0 ] 4: zp ZP_BYTE:18 [ plot::$0 ] 4: zp ZP_BYTE:21 [ plot::$1 ] 4: zp ZP_BYTE:24 [ plot::$2 ] 4: zp ZP_BYTE:27 [ plot::$3 ] 4: zp ZP_PTR_BYTE:28 [ plot::plotter_y#2 ] 4: zp ZP_BYTE:32 [ plot::$5 ] 4: zp ZP_BYTE:33 [ plot::$6 ] 2: zp ZP_PTR_BYTE:19 [ plot::plotter_x#1 ] 2: zp ZP_PTR_BYTE:25 [ plot::plotter_y#1 ] 1.33: zp ZP_PTR_BYTE:30 [ plot::plotter#0 ] 0.8: zp ZP_PTR_BYTE:22 [ plot::plotter_x#2 ] -Uplift Scope [main] 22: zp ZP_BYTE:12 [ main::$6 ] 22: zp ZP_BYTE:13 [ main::$8 ] +Uplift Scope [plot] 15: zp ZP_BYTE:15 [ plot::y#0 ] 9.73: zp ZP_BYTE:14 [ plot::x#0 ] 4: zp ZP_BYTE:16 [ plot::$0 ] 4: zp ZP_BYTE:19 [ plot::$1 ] 4: zp ZP_BYTE:22 [ plot::$2 ] 4: zp ZP_BYTE:25 [ plot::$3 ] 4: zp ZP_PTR_BYTE:26 [ plot::plotter_y#2 ] 4: zp ZP_BYTE:30 [ plot::$5 ] 4: zp ZP_BYTE:31 [ plot::$6 ] 2: zp ZP_PTR_BYTE:17 [ plot::plotter_x#1 ] 2: zp ZP_PTR_BYTE:23 [ plot::plotter_y#1 ] 1.33: zp ZP_PTR_BYTE:28 [ plot::plotter#0 ] 0.8: zp ZP_PTR_BYTE:20 [ plot::plotter_x#2 ] +Uplift Scope [main] Uplift Scope [] -Uplifting [plots] best 10913 combination zp ZP_BYTE:2 [ plots::i#2 plots::i#1 ] reg byte y [ plots::$0 ] reg byte a [ plots::$1 ] +Uplifting [plots] best 10673 combination zp ZP_BYTE:2 [ plots::i#2 plots::i#1 ] reg byte y [ plots::$0 ] reg byte a [ plots::$1 ] Uplift attempts [init_plot_tables] 10000/138240 (limiting to 10000) -Uplifting [init_plot_tables] best 10283 combination reg byte y [ init_plot_tables::bits#3 init_plot_tables::bits#4 init_plot_tables::bits#1 ] zp ZP_PTR_BYTE:6 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ] reg byte x [ init_plot_tables::x#2 init_plot_tables::x#1 ] reg byte x [ init_plot_tables::y#2 init_plot_tables::y#1 ] reg byte a [ init_plot_tables::$0 ] reg byte a [ init_plot_tables::$7 ] reg byte a [ init_plot_tables::$8 ] reg byte a [ init_plot_tables::$9 ] zp ZP_BYTE:39 [ init_plot_tables::$10 ] zp ZP_BYTE:35 [ init_plot_tables::$6 ] +Uplifting [init_plot_tables] best 10043 combination reg byte y [ init_plot_tables::bits#3 init_plot_tables::bits#4 init_plot_tables::bits#1 ] zp ZP_PTR_BYTE:6 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ] reg byte x [ init_plot_tables::x#2 init_plot_tables::x#1 ] reg byte x [ init_plot_tables::y#2 init_plot_tables::y#1 ] reg byte a [ init_plot_tables::$0 ] reg byte a [ init_plot_tables::$7 ] reg byte a [ init_plot_tables::$8 ] reg byte a [ init_plot_tables::$9 ] zp ZP_BYTE:37 [ init_plot_tables::$10 ] zp ZP_BYTE:33 [ init_plot_tables::$6 ] Limited combination testing to 10000 combinations of 138240 possible. -Uplifting [init_screen] best 10283 combination zp ZP_PTR_BYTE:8 [ init_screen::b#2 init_screen::b#1 ] zp ZP_PTR_BYTE:10 [ init_screen::c#2 init_screen::c#1 ] +Uplifting [init_screen] best 10043 combination zp ZP_PTR_BYTE:8 [ init_screen::b#2 init_screen::b#1 ] zp ZP_PTR_BYTE:10 [ init_screen::c#2 init_screen::c#1 ] Uplift attempts [plot] 10000/46080 (limiting to 10000) -Uplifting [plot] best 9844 combination reg byte x [ plot::y#0 ] reg byte y [ plot::x#0 ] reg byte a [ plot::$0 ] reg byte a [ plot::$1 ] reg byte a [ plot::$2 ] reg byte a [ plot::$3 ] zp ZP_PTR_BYTE:28 [ plot::plotter_y#2 ] zp ZP_BYTE:32 [ plot::$5 ] zp ZP_BYTE:33 [ plot::$6 ] zp ZP_PTR_BYTE:19 [ plot::plotter_x#1 ] zp ZP_PTR_BYTE:25 [ plot::plotter_y#1 ] zp ZP_PTR_BYTE:30 [ plot::plotter#0 ] zp ZP_PTR_BYTE:22 [ plot::plotter_x#2 ] +Uplifting [plot] best 9604 combination reg byte x [ plot::y#0 ] reg byte y [ plot::x#0 ] reg byte a [ plot::$0 ] reg byte a [ plot::$1 ] reg byte a [ plot::$2 ] reg byte a [ plot::$3 ] zp ZP_PTR_BYTE:26 [ plot::plotter_y#2 ] zp ZP_BYTE:30 [ plot::$5 ] zp ZP_BYTE:31 [ plot::$6 ] zp ZP_PTR_BYTE:17 [ plot::plotter_x#1 ] zp ZP_PTR_BYTE:23 [ plot::plotter_y#1 ] zp ZP_PTR_BYTE:28 [ plot::plotter#0 ] zp ZP_PTR_BYTE:20 [ plot::plotter_x#2 ] Limited combination testing to 10000 combinations of 46080 possible. -Uplifting [main] best 9724 combination reg byte a [ main::$6 ] reg byte a [ main::$8 ] -Uplifting [] best 9724 combination +Uplifting [main] best 9604 combination +Uplifting [] best 9604 combination MISSING FRAGMENTS zpby1=_star_zpptrby1_bor_aby zpby1=_star_zpptrby1_bor_xby zpby1=_star_zpptrby1_bor_yby zpby1=_star_zpptrby1_bor_cowo1_staridx_yby Attempting to uplift remaining variables inzp ZP_BYTE:2 [ plots::i#2 plots::i#1 ] -Uplifting [plots] best 9724 combination zp ZP_BYTE:2 [ plots::i#2 plots::i#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:39 [ init_plot_tables::$10 ] -Uplifting [init_plot_tables] best 9664 combination reg byte a [ init_plot_tables::$10 ] -Attempting to uplift remaining variables inzp ZP_BYTE:35 [ init_plot_tables::$6 ] -Uplifting [init_plot_tables] best 9664 combination zp ZP_BYTE:35 [ init_plot_tables::$6 ] -Attempting to uplift remaining variables inzp ZP_BYTE:32 [ plot::$5 ] -Uplifting [plot] best 9664 combination zp ZP_BYTE:32 [ plot::$5 ] -Attempting to uplift remaining variables inzp ZP_BYTE:33 [ plot::$6 ] -Uplifting [plot] best 9658 combination reg byte a [ plot::$6 ] +Uplifting [plots] best 9604 combination zp ZP_BYTE:2 [ plots::i#2 plots::i#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:37 [ init_plot_tables::$10 ] +Uplifting [init_plot_tables] best 9544 combination reg byte a [ init_plot_tables::$10 ] +Attempting to uplift remaining variables inzp ZP_BYTE:33 [ init_plot_tables::$6 ] +Uplifting [init_plot_tables] best 9544 combination zp ZP_BYTE:33 [ init_plot_tables::$6 ] +Attempting to uplift remaining variables inzp ZP_BYTE:30 [ plot::$5 ] +Uplifting [plot] best 9544 combination zp ZP_BYTE:30 [ plot::$5 ] +Attempting to uplift remaining variables inzp ZP_BYTE:31 [ plot::$6 ] +Uplifting [plot] best 9538 combination reg byte a [ plot::$6 ] MISSING FRAGMENTS zpby1=_star_zpptrby1_bor_aby zpby1=_star_zpptrby1_bor_xby zpby1=_star_zpptrby1_bor_yby zpby1=_star_zpptrby1_bor_cowo1_staridx_yby -Coalescing zero page register [ zp ZP_BYTE:2 [ plots::i#2 plots::i#1 ] ] with [ zp ZP_BYTE:35 [ init_plot_tables::$6 ] ] +Coalescing zero page register [ zp ZP_BYTE:2 [ plots::i#2 plots::i#1 ] ] with [ zp ZP_BYTE:33 [ init_plot_tables::$6 ] ] Coalescing zero page register [ zp ZP_PTR_BYTE:6 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ] ] with [ zp ZP_PTR_BYTE:8 [ init_screen::b#2 init_screen::b#1 ] ] Coalescing zero page register [ zp ZP_PTR_BYTE:6 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 init_screen::b#2 init_screen::b#1 ] ] with [ zp ZP_PTR_BYTE:10 [ init_screen::c#2 init_screen::c#1 ] ] -Coalescing zero page register [ zp ZP_PTR_BYTE:6 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 init_screen::b#2 init_screen::b#1 init_screen::c#2 init_screen::c#1 ] ] with [ zp ZP_PTR_BYTE:19 [ plot::plotter_x#1 ] ] -Coalescing zero page register [ zp ZP_PTR_BYTE:6 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 init_screen::b#2 init_screen::b#1 init_screen::c#2 init_screen::c#1 plot::plotter_x#1 ] ] with [ zp ZP_PTR_BYTE:22 [ plot::plotter_x#2 ] ] -Coalescing zero page register [ zp ZP_PTR_BYTE:6 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 init_screen::b#2 init_screen::b#1 init_screen::c#2 init_screen::c#1 plot::plotter_x#1 plot::plotter_x#2 ] ] with [ zp ZP_PTR_BYTE:30 [ plot::plotter#0 ] ] -Coalescing zero page register [ zp ZP_PTR_BYTE:25 [ plot::plotter_y#1 ] ] with [ zp ZP_PTR_BYTE:28 [ plot::plotter_y#2 ] ] +Coalescing zero page register [ zp ZP_PTR_BYTE:6 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 init_screen::b#2 init_screen::b#1 init_screen::c#2 init_screen::c#1 ] ] with [ zp ZP_PTR_BYTE:17 [ plot::plotter_x#1 ] ] +Coalescing zero page register [ zp ZP_PTR_BYTE:6 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 init_screen::b#2 init_screen::b#1 init_screen::c#2 init_screen::c#1 plot::plotter_x#1 ] ] with [ zp ZP_PTR_BYTE:20 [ plot::plotter_x#2 ] ] +Coalescing zero page register [ zp ZP_PTR_BYTE:6 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 init_screen::b#2 init_screen::b#1 init_screen::c#2 init_screen::c#1 plot::plotter_x#1 plot::plotter_x#2 ] ] with [ zp ZP_PTR_BYTE:28 [ plot::plotter#0 ] ] +Coalescing zero page register [ zp ZP_PTR_BYTE:23 [ plot::plotter_y#1 ] ] with [ zp ZP_PTR_BYTE:26 [ plot::plotter_y#2 ] ] Allocated (was zp ZP_PTR_BYTE:6) zp ZP_PTR_BYTE:3 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 init_screen::b#2 init_screen::b#1 init_screen::c#2 init_screen::c#1 plot::plotter_x#1 plot::plotter_x#2 plot::plotter#0 ] -Allocated (was zp ZP_PTR_BYTE:25) zp ZP_PTR_BYTE:5 [ plot::plotter_y#1 plot::plotter_y#2 ] -Allocated (was zp ZP_BYTE:32) zp ZP_BYTE:7 [ plot::$5 ] +Allocated (was zp ZP_PTR_BYTE:23) zp ZP_PTR_BYTE:5 [ plot::plotter_y#1 plot::plotter_y#2 ] +Allocated (was zp ZP_BYTE:30) zp ZP_BYTE:7 [ plot::$5 ] Removing instruction jmp b5 Removing instruction jmp bend Removing instruction jmp b5 @@ -6683,13 +6605,13 @@ main: { lda #$18 sta D018 //SEG11 [5] call init_screen param-assignment [ ] ( main:0 [ ] ) - //SEG12 [63] phi from main to init_screen [phi:main->init_screen] + //SEG12 [61] phi from main to init_screen [phi:main->init_screen] init_screen_from_main: jsr init_screen //SEG13 main::@5 b5: //SEG14 [6] call init_plot_tables param-assignment [ ] ( main:0 [ ] ) - //SEG15 [38] phi from main::@5 to init_plot_tables [phi:main::@5->init_plot_tables] + //SEG15 [36] phi from main::@5 to init_plot_tables [phi:main::@5->init_plot_tables] init_plot_tables_from_b5: jsr init_plot_tables //SEG16 main::@2 @@ -6700,98 +6622,90 @@ main: { bne b2 //SEG18 main::@3 b3: - //SEG19 [8] (byte~) main::$6 ← *((const byte*) BGCOL#0) + (byte) 1 [ main::$6 ] ( main:0 [ main::$6 ] ) -- aby=_star_cowo1_plus_1 - lda BGCOL - clc - adc #1 - //SEG20 [9] *((const byte*) BGCOL#0) ← (byte~) main::$6 [ ] ( main:0 [ ] ) -- _star_cowo1=aby - sta BGCOL - //SEG21 [10] call plots param-assignment [ ] ( main:0 [ ] ) - //SEG22 [15] phi from main::@3 to plots [phi:main::@3->plots] + //SEG19 [8] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) -- _star_cowo1=_inc__star_cowo1 + inc BGCOL + //SEG20 [9] call plots param-assignment [ ] ( main:0 [ ] ) + //SEG21 [13] phi from main::@3 to plots [phi:main::@3->plots] plots_from_b3: jsr plots - //SEG23 main::@7 + //SEG22 main::@7 b7: - //SEG24 [11] (byte~) main::$8 ← *((const byte*) BGCOL#0) - (byte) 1 [ main::$8 ] ( main:0 [ main::$8 ] ) -- aby=_star_cowo1_minus_1 - lda BGCOL - sec - sbc #1 - //SEG25 [12] *((const byte*) BGCOL#0) ← (byte~) main::$8 [ ] ( main:0 [ ] ) -- _star_cowo1=aby - sta BGCOL - //SEG26 [13] if(true) goto main::@2 [ ] ( main:0 [ ] ) -- true_then_la1 + //SEG23 [10] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) -- _star_cowo1=_dec__star_cowo1 + dec BGCOL + //SEG24 [11] if(true) goto main::@2 [ ] ( main:0 [ ] ) -- true_then_la1 jmp b2 - //SEG27 main::@return + //SEG25 main::@return breturn: - //SEG28 [14] return [ ] ( main:0 [ ] ) + //SEG26 [12] return [ ] ( main:0 [ ] ) rts } -//SEG29 plots +//SEG27 plots plots: { .label i = 2 - //SEG30 [16] phi from plots to plots::@1 [phi:plots->plots::@1] + //SEG28 [14] phi from plots to plots::@1 [phi:plots->plots::@1] b1_from_plots: - //SEG31 [16] phi (byte) plots::i#2 = (byte) 0 [phi:plots->plots::@1#0] -- zpby1=coby1 + //SEG29 [14] phi (byte) plots::i#2 = (byte) 0 [phi:plots->plots::@1#0] -- zpby1=coby1 lda #0 sta i jmp b1 - //SEG32 [16] phi from plots::@3 to plots::@1 [phi:plots::@3->plots::@1] + //SEG30 [14] phi from plots::@3 to plots::@1 [phi:plots::@3->plots::@1] b1_from_b3: - //SEG33 [16] phi (byte) plots::i#2 = (byte) plots::i#1 [phi:plots::@3->plots::@1#0] -- register_copy - //SEG34 plots::@1 + //SEG31 [14] phi (byte) plots::i#2 = (byte) plots::i#1 [phi:plots::@3->plots::@1#0] -- register_copy + //SEG32 plots::@1 b1: - //SEG35 [17] (byte~) plots::$0 ← (const byte[]) plots_x#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 ] ( main:0::plots:10 [ plots::i#2 plots::$0 ] ) -- yby=cowo1_staridx_zpby1 + //SEG33 [15] (byte~) plots::$0 ← (const byte[]) plots_x#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 ] ( main:0::plots:9 [ plots::i#2 plots::$0 ] ) -- yby=cowo1_staridx_zpby1 ldx i lda plots_x,x tay - //SEG36 [18] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:0::plots:10 [ plots::i#2 plots::$0 plots::$1 ] ) -- aby=cowo1_staridx_zpby1 + //SEG34 [16] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:0::plots:9 [ plots::i#2 plots::$0 plots::$1 ] ) -- aby=cowo1_staridx_zpby1 ldx i lda plots_y,x - //SEG37 [19] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:0::plots:10 [ plots::i#2 plots::$1 plot::x#0 ] ) + //SEG35 [17] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:0::plots:9 [ plots::i#2 plots::$1 plot::x#0 ] ) // (byte) plot::x#0 = (byte~) plots::$0 // register copy reg byte y - //SEG38 [20] (byte) plot::y#0 ← (byte~) plots::$1 [ plots::i#2 plot::x#0 plot::y#0 ] ( main:0::plots:10 [ plots::i#2 plot::x#0 plot::y#0 ] ) -- xby=aby + //SEG36 [18] (byte) plot::y#0 ← (byte~) plots::$1 [ plots::i#2 plot::x#0 plot::y#0 ] ( main:0::plots:9 [ plots::i#2 plot::x#0 plot::y#0 ] ) -- xby=aby tax - //SEG39 [21] call plot param-assignment [ plots::i#2 ] ( main:0::plots:10 [ plots::i#2 ] ) + //SEG37 [19] call plot param-assignment [ plots::i#2 ] ( main:0::plots:9 [ plots::i#2 ] ) jsr plot - //SEG40 plots::@3 + //SEG38 plots::@3 b3: - //SEG41 [22] (byte) plots::i#1 ← ++ (byte) plots::i#2 [ plots::i#1 ] ( main:0::plots:10 [ plots::i#1 ] ) -- zpby1=_inc_zpby1 + //SEG39 [20] (byte) plots::i#1 ← ++ (byte) plots::i#2 [ plots::i#1 ] ( main:0::plots:9 [ plots::i#1 ] ) -- zpby1=_inc_zpby1 inc i - //SEG42 [23] if((byte) plots::i#1<(const byte) plots_cnt#0) goto plots::@1 [ plots::i#1 ] ( main:0::plots:10 [ plots::i#1 ] ) -- zpby1_lt_coby1_then_la1 + //SEG40 [21] if((byte) plots::i#1<(const byte) plots_cnt#0) goto plots::@1 [ plots::i#1 ] ( main:0::plots:9 [ plots::i#1 ] ) -- zpby1_lt_coby1_then_la1 lda i cmp #plots_cnt bcc b1_from_b3 - //SEG43 plots::@return + //SEG41 plots::@return breturn: - //SEG44 [24] return [ ] ( main:0::plots:10 [ ] ) + //SEG42 [22] return [ ] ( main:0::plots:9 [ ] ) rts } -//SEG45 plot +//SEG43 plot plot: { .label _5 = 7 .label plotter_x = 3 .label plotter_y = 5 .label plotter = 3 - //SEG46 [25] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::$0 ] ) -- aby=cowo1_staridx_yby + //SEG44 [23] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::$0 ] ) -- aby=cowo1_staridx_yby lda plot_xhi,y - //SEG47 [26] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#0 plot::y#0 plot::plotter_x#1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 ] ) -- zpptrby1=coby1_sethi_aby + //SEG45 [24] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#0 plot::y#0 plot::plotter_x#1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 ] ) -- zpptrby1=coby1_sethi_aby sta plotter_x+1 lda #<0 sta plotter_x - //SEG48 [27] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ) -- aby=cowo1_staridx_yby + //SEG46 [25] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ) -- aby=cowo1_staridx_yby lda plot_xlo,y - //SEG49 [28] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 ] ) -- zpptrby1=zpptrby1_setlo_aby + //SEG47 [26] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 ] ) -- zpptrby1=zpptrby1_setlo_aby sta plotter_x - //SEG50 [29] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#0 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ) -- aby=cowo1_staridx_xby + //SEG48 [27] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#0 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ) -- aby=cowo1_staridx_xby lda plot_yhi,x - //SEG51 [30] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ) -- zpptrby1=coby1_sethi_aby + //SEG49 [28] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ) -- zpptrby1=coby1_sethi_aby sta plotter_y+1 lda #<0 sta plotter_y - //SEG52 [31] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#0 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ) -- aby=cowo1_staridx_xby + //SEG50 [29] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#0 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ) -- aby=cowo1_staridx_xby lda plot_ylo,x - //SEG53 [32] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ) -- zpptrby1=zpptrby1_setlo_aby + //SEG51 [30] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ) -- zpptrby1=zpptrby1_setlo_aby sta plotter_y - //SEG54 [33] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter#0 ] ) -- zpptrby1=zpptrby1_plus_zpptrby2 + //SEG52 [31] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter#0 ] ) -- zpptrby1=zpptrby1_plus_zpptrby2 lda plotter clc adc plotter_y @@ -6799,106 +6713,106 @@ plot: { lda plotter+1 adc plotter_y+1 sta plotter+1 - //SEG55 [34] (byte~) plot::$5 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#0 plot::$5 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::plotter#0 plot::$5 ] ) -- zpby1=cowo1_staridx_yby + //SEG53 [32] (byte~) plot::$5 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#0 plot::$5 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::plotter#0 plot::$5 ] ) -- zpby1=cowo1_staridx_yby lda plot_bit,y sta _5 - //SEG56 [35] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::plotter#0 plot::$6 ] ) -- aby=_star_zpptrby1_bor_zpby1 + //SEG54 [33] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::plotter#0 plot::$6 ] ) -- aby=_star_zpptrby1_bor_zpby1 ldy #0 lda (plotter),y ora _5 - //SEG57 [36] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] ( main:0::plots:10::plot:21 [ plots::i#2 ] ) -- _star_zpptrby1=aby + //SEG55 [34] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] ( main:0::plots:9::plot:19 [ plots::i#2 ] ) -- _star_zpptrby1=aby ldy #0 sta (plotter),y - //SEG58 plot::@return + //SEG56 plot::@return breturn: - //SEG59 [37] return [ ] ( main:0::plots:10::plot:21 [ plots::i#2 ] ) + //SEG57 [35] return [ ] ( main:0::plots:9::plot:19 [ plots::i#2 ] ) rts } -//SEG60 init_plot_tables +//SEG58 init_plot_tables init_plot_tables: { .label _6 = 2 .label yoffs = 3 - //SEG61 [39] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] + //SEG59 [37] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] b1_from_init_plot_tables: - //SEG62 [39] phi (byte) init_plot_tables::bits#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- yby=coby1 + //SEG60 [37] phi (byte) init_plot_tables::bits#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- yby=coby1 ldy #$80 - //SEG63 [39] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- xby=coby1 + //SEG61 [37] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- xby=coby1 ldx #0 jmp b1 - //SEG64 [39] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] + //SEG62 [37] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] b1_from_b2: - //SEG65 [39] phi (byte) init_plot_tables::bits#3 = (byte) init_plot_tables::bits#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy - //SEG66 [39] phi (byte) init_plot_tables::x#2 = (byte) init_plot_tables::x#1 [phi:init_plot_tables::@2->init_plot_tables::@1#1] -- register_copy - //SEG67 init_plot_tables::@1 + //SEG63 [37] phi (byte) init_plot_tables::bits#3 = (byte) init_plot_tables::bits#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy + //SEG64 [37] phi (byte) init_plot_tables::x#2 = (byte) init_plot_tables::x#1 [phi:init_plot_tables::@2->init_plot_tables::@1#1] -- register_copy + //SEG65 init_plot_tables::@1 b1: - //SEG68 [40] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ) -- aby=xby_band_coby1 + //SEG66 [38] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ) -- aby=xby_band_coby1 txa and #$f8 - //SEG69 [41] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=aby + //SEG67 [39] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=aby sta plot_xlo,x - //SEG70 [42] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=coby2 + //SEG68 [40] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=coby2 lda #>BITMAP sta plot_xhi,x - //SEG71 [43] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=yby + //SEG69 [41] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=yby tya sta plot_bit,x - //SEG72 [44] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ) -- yby=yby_ror_1 + //SEG70 [42] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ) -- yby=yby_ror_1 tya lsr tay - //SEG73 [45] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 ] ) -- yby_neq_0_then_la1 + //SEG71 [43] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 ] ) -- yby_neq_0_then_la1 cpy #0 bne b10 - //SEG74 [46] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] + //SEG72 [44] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] b2_from_b1: - //SEG75 [46] phi (byte) init_plot_tables::bits#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- yby=coby1 + //SEG73 [44] phi (byte) init_plot_tables::bits#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- yby=coby1 ldy #$80 - //SEG76 init_plot_tables::@2 + //SEG74 init_plot_tables::@2 b2: - //SEG77 [47] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- xby=_inc_xby + //SEG75 [45] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- xby=_inc_xby inx - //SEG78 [48] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- xby_neq_0_then_la1 + //SEG76 [46] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- xby_neq_0_then_la1 cpx #0 bne b1_from_b2 - //SEG79 [49] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] + //SEG77 [47] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] b3_from_b2: - //SEG80 [49] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 + //SEG78 [47] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 lda #0 sta yoffs lda #0 sta yoffs+1 - //SEG81 [49] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- xby=coby1 + //SEG79 [47] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- xby=coby1 ldx #0 jmp b3 - //SEG82 [49] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] + //SEG80 [47] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] b3_from_b4: - //SEG83 [49] phi (byte*) init_plot_tables::yoffs#2 = (byte*) init_plot_tables::yoffs#4 [phi:init_plot_tables::@4->init_plot_tables::@3#0] -- register_copy - //SEG84 [49] phi (byte) init_plot_tables::y#2 = (byte) init_plot_tables::y#1 [phi:init_plot_tables::@4->init_plot_tables::@3#1] -- register_copy - //SEG85 init_plot_tables::@3 + //SEG81 [47] phi (byte*) init_plot_tables::yoffs#2 = (byte*) init_plot_tables::yoffs#4 [phi:init_plot_tables::@4->init_plot_tables::@3#0] -- register_copy + //SEG82 [47] phi (byte) init_plot_tables::y#2 = (byte) init_plot_tables::y#1 [phi:init_plot_tables::@4->init_plot_tables::@3#1] -- register_copy + //SEG83 init_plot_tables::@3 b3: - //SEG86 [50] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) -- zpby1=xby_band_coby1 + //SEG84 [48] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) -- zpby1=xby_band_coby1 txa and #7 sta _6 - //SEG87 [51] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ) -- aby=_lo_zpptrby1 + //SEG85 [49] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ) -- aby=_lo_zpptrby1 lda yoffs - //SEG88 [52] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ) -- aby=zpby1_bor_aby + //SEG86 [50] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ) -- aby=zpby1_bor_aby ora _6 - //SEG89 [53] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_xby=aby + //SEG87 [51] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_xby=aby sta plot_ylo,x - //SEG90 [54] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ) -- aby=_hi_zpptrby1 + //SEG88 [52] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ) -- aby=_hi_zpptrby1 lda yoffs+1 - //SEG91 [55] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_xby=aby + //SEG89 [53] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_xby=aby sta plot_yhi,x - //SEG92 [56] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) -- aby=xby_band_coby1 + //SEG90 [54] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) -- aby=xby_band_coby1 txa and #7 - //SEG93 [57] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- aby_neq_coby1_then_la1 + //SEG91 [55] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- aby_neq_coby1_then_la1 cmp #7 bne b4_from_b3 - //SEG94 init_plot_tables::@7 + //SEG92 init_plot_tables::@7 b7: - //SEG95 [58] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) -- zpptrby1=zpptrby1_plus_cowo1 + //SEG93 [56] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) -- zpptrby1=zpptrby1_plus_cowo1 lda yoffs clc adc #<$140 @@ -6906,93 +6820,93 @@ init_plot_tables: { lda yoffs+1 adc #>$140 sta yoffs+1 - //SEG96 [59] phi from init_plot_tables::@3 init_plot_tables::@7 to init_plot_tables::@4 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4] + //SEG94 [57] phi from init_plot_tables::@3 init_plot_tables::@7 to init_plot_tables::@4 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4] b4_from_b3: b4_from_b7: - //SEG97 [59] phi (byte*) init_plot_tables::yoffs#4 = (byte*) init_plot_tables::yoffs#2 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4#0] -- register_copy - //SEG98 init_plot_tables::@4 + //SEG95 [57] phi (byte*) init_plot_tables::yoffs#4 = (byte*) init_plot_tables::yoffs#2 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4#0] -- register_copy + //SEG96 init_plot_tables::@4 b4: - //SEG99 [60] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- xby=_inc_xby + //SEG97 [58] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- xby=_inc_xby inx - //SEG100 [61] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- xby_neq_0_then_la1 + //SEG98 [59] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- xby_neq_0_then_la1 cpx #0 bne b3_from_b4 - //SEG101 init_plot_tables::@return + //SEG99 init_plot_tables::@return breturn: - //SEG102 [62] return [ ] ( main:0::init_plot_tables:6 [ ] ) + //SEG100 [60] return [ ] ( main:0::init_plot_tables:6 [ ] ) rts - //SEG103 init_plot_tables::@10 + //SEG101 init_plot_tables::@10 b10: - //SEG104 [46] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] + //SEG102 [44] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] b2_from_b10: - //SEG105 [46] phi (byte) init_plot_tables::bits#4 = (byte) init_plot_tables::bits#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy + //SEG103 [44] phi (byte) init_plot_tables::bits#4 = (byte) init_plot_tables::bits#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy jmp b2 } -//SEG106 init_screen +//SEG104 init_screen init_screen: { .label b = 3 .label c = 3 - //SEG107 [64] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] + //SEG105 [62] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] b1_from_init_screen: - //SEG108 [64] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 + //SEG106 [62] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 lda #BITMAP sta b+1 jmp b1 - //SEG109 [64] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] + //SEG107 [62] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] b1_from_b1: - //SEG110 [64] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy - //SEG111 init_screen::@1 + //SEG108 [62] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy + //SEG109 init_screen::@1 b1: - //SEG112 [65] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) -- _star_zpptrby1=coby1 + //SEG110 [63] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) -- _star_zpptrby1=coby1 ldy #0 lda #0 sta (b),y - //SEG113 [66] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG111 [64] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1=_inc_zpptrby1 inc b bne !+ inc b+1 !: - //SEG114 [67] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1_neq_cowo1_then_la1 + //SEG112 [65] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1_neq_cowo1_then_la1 lda b+1 cmp #>BITMAP+$2000 bne b1_from_b1 lda b cmp #init_screen::@2] + //SEG113 [66] phi from init_screen::@1 to init_screen::@2 [phi:init_screen::@1->init_screen::@2] b2_from_b1: - //SEG116 [68] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 + //SEG114 [66] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 lda #SCREEN sta c+1 jmp b2 - //SEG117 [68] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] + //SEG115 [66] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] b2_from_b2: - //SEG118 [68] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy - //SEG119 init_screen::@2 + //SEG116 [66] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy + //SEG117 init_screen::@2 b2: - //SEG120 [69] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) -- _star_zpptrby1=coby1 + //SEG118 [67] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) -- _star_zpptrby1=coby1 ldy #0 lda #$14 sta (c),y - //SEG121 [70] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG119 [68] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1=_inc_zpptrby1 inc c bne !+ inc c+1 !: - //SEG122 [71] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1_neq_cowo1_then_la1 + //SEG120 [69] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1_neq_cowo1_then_la1 lda c+1 cmp #>SCREEN+$400 bne b2_from_b2 lda c cmp #init_screen] + //SEG12 [61] phi from main to init_screen [phi:main->init_screen] init_screen_from_main: jsr init_screen //SEG13 main::@5 b5: //SEG14 [6] call init_plot_tables param-assignment [ ] ( main:0 [ ] ) - //SEG15 [38] phi from main::@5 to init_plot_tables [phi:main::@5->init_plot_tables] + //SEG15 [36] phi from main::@5 to init_plot_tables [phi:main::@5->init_plot_tables] init_plot_tables_from_b5: jsr init_plot_tables //SEG16 main::@2 @@ -7069,98 +6983,90 @@ main: { bne b2 //SEG18 main::@3 b3: - //SEG19 [8] (byte~) main::$6 ← *((const byte*) BGCOL#0) + (byte) 1 [ main::$6 ] ( main:0 [ main::$6 ] ) -- aby=_star_cowo1_plus_1 - lda BGCOL - clc - adc #1 - //SEG20 [9] *((const byte*) BGCOL#0) ← (byte~) main::$6 [ ] ( main:0 [ ] ) -- _star_cowo1=aby - sta BGCOL - //SEG21 [10] call plots param-assignment [ ] ( main:0 [ ] ) - //SEG22 [15] phi from main::@3 to plots [phi:main::@3->plots] + //SEG19 [8] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) -- _star_cowo1=_inc__star_cowo1 + inc BGCOL + //SEG20 [9] call plots param-assignment [ ] ( main:0 [ ] ) + //SEG21 [13] phi from main::@3 to plots [phi:main::@3->plots] plots_from_b3: jsr plots - //SEG23 main::@7 + //SEG22 main::@7 b7: - //SEG24 [11] (byte~) main::$8 ← *((const byte*) BGCOL#0) - (byte) 1 [ main::$8 ] ( main:0 [ main::$8 ] ) -- aby=_star_cowo1_minus_1 - lda BGCOL - sec - sbc #1 - //SEG25 [12] *((const byte*) BGCOL#0) ← (byte~) main::$8 [ ] ( main:0 [ ] ) -- _star_cowo1=aby - sta BGCOL - //SEG26 [13] if(true) goto main::@2 [ ] ( main:0 [ ] ) -- true_then_la1 + //SEG23 [10] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) -- _star_cowo1=_dec__star_cowo1 + dec BGCOL + //SEG24 [11] if(true) goto main::@2 [ ] ( main:0 [ ] ) -- true_then_la1 jmp b2 - //SEG27 main::@return + //SEG25 main::@return breturn: - //SEG28 [14] return [ ] ( main:0 [ ] ) + //SEG26 [12] return [ ] ( main:0 [ ] ) rts } -//SEG29 plots +//SEG27 plots plots: { .label i = 2 - //SEG30 [16] phi from plots to plots::@1 [phi:plots->plots::@1] + //SEG28 [14] phi from plots to plots::@1 [phi:plots->plots::@1] b1_from_plots: - //SEG31 [16] phi (byte) plots::i#2 = (byte) 0 [phi:plots->plots::@1#0] -- zpby1=coby1 + //SEG29 [14] phi (byte) plots::i#2 = (byte) 0 [phi:plots->plots::@1#0] -- zpby1=coby1 lda #0 sta i jmp b1 - //SEG32 [16] phi from plots::@3 to plots::@1 [phi:plots::@3->plots::@1] + //SEG30 [14] phi from plots::@3 to plots::@1 [phi:plots::@3->plots::@1] b1_from_b3: - //SEG33 [16] phi (byte) plots::i#2 = (byte) plots::i#1 [phi:plots::@3->plots::@1#0] -- register_copy - //SEG34 plots::@1 + //SEG31 [14] phi (byte) plots::i#2 = (byte) plots::i#1 [phi:plots::@3->plots::@1#0] -- register_copy + //SEG32 plots::@1 b1: - //SEG35 [17] (byte~) plots::$0 ← (const byte[]) plots_x#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 ] ( main:0::plots:10 [ plots::i#2 plots::$0 ] ) -- yby=cowo1_staridx_zpby1 + //SEG33 [15] (byte~) plots::$0 ← (const byte[]) plots_x#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 ] ( main:0::plots:9 [ plots::i#2 plots::$0 ] ) -- yby=cowo1_staridx_zpby1 ldx i lda plots_x,x tay - //SEG36 [18] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:0::plots:10 [ plots::i#2 plots::$0 plots::$1 ] ) -- aby=cowo1_staridx_zpby1 + //SEG34 [16] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:0::plots:9 [ plots::i#2 plots::$0 plots::$1 ] ) -- aby=cowo1_staridx_zpby1 ldx i lda plots_y,x - //SEG37 [19] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:0::plots:10 [ plots::i#2 plots::$1 plot::x#0 ] ) + //SEG35 [17] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:0::plots:9 [ plots::i#2 plots::$1 plot::x#0 ] ) // (byte) plot::x#0 = (byte~) plots::$0 // register copy reg byte y - //SEG38 [20] (byte) plot::y#0 ← (byte~) plots::$1 [ plots::i#2 plot::x#0 plot::y#0 ] ( main:0::plots:10 [ plots::i#2 plot::x#0 plot::y#0 ] ) -- xby=aby + //SEG36 [18] (byte) plot::y#0 ← (byte~) plots::$1 [ plots::i#2 plot::x#0 plot::y#0 ] ( main:0::plots:9 [ plots::i#2 plot::x#0 plot::y#0 ] ) -- xby=aby tax - //SEG39 [21] call plot param-assignment [ plots::i#2 ] ( main:0::plots:10 [ plots::i#2 ] ) + //SEG37 [19] call plot param-assignment [ plots::i#2 ] ( main:0::plots:9 [ plots::i#2 ] ) jsr plot - //SEG40 plots::@3 + //SEG38 plots::@3 b3: - //SEG41 [22] (byte) plots::i#1 ← ++ (byte) plots::i#2 [ plots::i#1 ] ( main:0::plots:10 [ plots::i#1 ] ) -- zpby1=_inc_zpby1 + //SEG39 [20] (byte) plots::i#1 ← ++ (byte) plots::i#2 [ plots::i#1 ] ( main:0::plots:9 [ plots::i#1 ] ) -- zpby1=_inc_zpby1 inc i - //SEG42 [23] if((byte) plots::i#1<(const byte) plots_cnt#0) goto plots::@1 [ plots::i#1 ] ( main:0::plots:10 [ plots::i#1 ] ) -- zpby1_lt_coby1_then_la1 + //SEG40 [21] if((byte) plots::i#1<(const byte) plots_cnt#0) goto plots::@1 [ plots::i#1 ] ( main:0::plots:9 [ plots::i#1 ] ) -- zpby1_lt_coby1_then_la1 lda i cmp #plots_cnt bcc b1_from_b3 - //SEG43 plots::@return + //SEG41 plots::@return breturn: - //SEG44 [24] return [ ] ( main:0::plots:10 [ ] ) + //SEG42 [22] return [ ] ( main:0::plots:9 [ ] ) rts } -//SEG45 plot +//SEG43 plot plot: { .label _5 = 7 .label plotter_x = 3 .label plotter_y = 5 .label plotter = 3 - //SEG46 [25] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::$0 ] ) -- aby=cowo1_staridx_yby + //SEG44 [23] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::$0 ] ) -- aby=cowo1_staridx_yby lda plot_xhi,y - //SEG47 [26] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#0 plot::y#0 plot::plotter_x#1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 ] ) -- zpptrby1=coby1_sethi_aby + //SEG45 [24] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#0 plot::y#0 plot::plotter_x#1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 ] ) -- zpptrby1=coby1_sethi_aby sta plotter_x+1 lda #<0 sta plotter_x - //SEG48 [27] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ) -- aby=cowo1_staridx_yby + //SEG46 [25] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ) -- aby=cowo1_staridx_yby lda plot_xlo,y - //SEG49 [28] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 ] ) -- zpptrby1=zpptrby1_setlo_aby + //SEG47 [26] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 ] ) -- zpptrby1=zpptrby1_setlo_aby sta plotter_x - //SEG50 [29] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#0 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ) -- aby=cowo1_staridx_xby + //SEG48 [27] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#0 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ) -- aby=cowo1_staridx_xby lda plot_yhi,x - //SEG51 [30] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ) -- zpptrby1=coby1_sethi_aby + //SEG49 [28] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ) -- zpptrby1=coby1_sethi_aby sta plotter_y+1 lda #<0 sta plotter_y - //SEG52 [31] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#0 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ) -- aby=cowo1_staridx_xby + //SEG50 [29] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#0 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ) -- aby=cowo1_staridx_xby lda plot_ylo,x - //SEG53 [32] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ) -- zpptrby1=zpptrby1_setlo_aby + //SEG51 [30] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ) -- zpptrby1=zpptrby1_setlo_aby sta plotter_y - //SEG54 [33] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter#0 ] ) -- zpptrby1=zpptrby1_plus_zpptrby2 + //SEG52 [31] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter#0 ] ) -- zpptrby1=zpptrby1_plus_zpptrby2 lda plotter clc adc plotter_y @@ -7168,104 +7074,104 @@ plot: { lda plotter+1 adc plotter_y+1 sta plotter+1 - //SEG55 [34] (byte~) plot::$5 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#0 plot::$5 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::plotter#0 plot::$5 ] ) -- zpby1=cowo1_staridx_yby + //SEG53 [32] (byte~) plot::$5 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#0 plot::$5 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::plotter#0 plot::$5 ] ) -- zpby1=cowo1_staridx_yby lda plot_bit,y sta _5 - //SEG56 [35] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::plotter#0 plot::$6 ] ) -- aby=_star_zpptrby1_bor_zpby1 + //SEG54 [33] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::plotter#0 plot::$6 ] ) -- aby=_star_zpptrby1_bor_zpby1 ldy #0 lda (plotter),y ora _5 - //SEG57 [36] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] ( main:0::plots:10::plot:21 [ plots::i#2 ] ) -- _star_zpptrby1=aby + //SEG55 [34] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] ( main:0::plots:9::plot:19 [ plots::i#2 ] ) -- _star_zpptrby1=aby sta (plotter),y - //SEG58 plot::@return + //SEG56 plot::@return breturn: - //SEG59 [37] return [ ] ( main:0::plots:10::plot:21 [ plots::i#2 ] ) + //SEG57 [35] return [ ] ( main:0::plots:9::plot:19 [ plots::i#2 ] ) rts } -//SEG60 init_plot_tables +//SEG58 init_plot_tables init_plot_tables: { .label _6 = 2 .label yoffs = 3 - //SEG61 [39] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] + //SEG59 [37] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] b1_from_init_plot_tables: - //SEG62 [39] phi (byte) init_plot_tables::bits#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- yby=coby1 + //SEG60 [37] phi (byte) init_plot_tables::bits#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- yby=coby1 ldy #$80 - //SEG63 [39] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- xby=coby1 + //SEG61 [37] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- xby=coby1 ldx #0 jmp b1 - //SEG64 [39] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] + //SEG62 [37] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] b1_from_b2: - //SEG65 [39] phi (byte) init_plot_tables::bits#3 = (byte) init_plot_tables::bits#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy - //SEG66 [39] phi (byte) init_plot_tables::x#2 = (byte) init_plot_tables::x#1 [phi:init_plot_tables::@2->init_plot_tables::@1#1] -- register_copy - //SEG67 init_plot_tables::@1 + //SEG63 [37] phi (byte) init_plot_tables::bits#3 = (byte) init_plot_tables::bits#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy + //SEG64 [37] phi (byte) init_plot_tables::x#2 = (byte) init_plot_tables::x#1 [phi:init_plot_tables::@2->init_plot_tables::@1#1] -- register_copy + //SEG65 init_plot_tables::@1 b1: - //SEG68 [40] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ) -- aby=xby_band_coby1 + //SEG66 [38] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ) -- aby=xby_band_coby1 txa and #$f8 - //SEG69 [41] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=aby + //SEG67 [39] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=aby sta plot_xlo,x - //SEG70 [42] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=coby2 + //SEG68 [40] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=coby2 lda #>BITMAP sta plot_xhi,x - //SEG71 [43] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=yby + //SEG69 [41] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=yby tya sta plot_bit,x - //SEG72 [44] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ) -- yby=yby_ror_1 + //SEG70 [42] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ) -- yby=yby_ror_1 tya lsr tay - //SEG73 [45] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 ] ) -- yby_neq_0_then_la1 + //SEG71 [43] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 ] ) -- yby_neq_0_then_la1 cpy #0 bne b10 - //SEG74 [46] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] + //SEG72 [44] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] b2_from_b1: - //SEG75 [46] phi (byte) init_plot_tables::bits#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- yby=coby1 + //SEG73 [44] phi (byte) init_plot_tables::bits#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- yby=coby1 ldy #$80 - //SEG76 init_plot_tables::@2 + //SEG74 init_plot_tables::@2 b2: - //SEG77 [47] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- xby=_inc_xby + //SEG75 [45] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- xby=_inc_xby inx - //SEG78 [48] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- xby_neq_0_then_la1 + //SEG76 [46] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- xby_neq_0_then_la1 cpx #0 bne b1_from_b2 - //SEG79 [49] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] + //SEG77 [47] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] b3_from_b2: - //SEG80 [49] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 + //SEG78 [47] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 lda #0 sta yoffs sta yoffs+1 - //SEG81 [49] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- xby=coby1 + //SEG79 [47] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- xby=coby1 ldx #0 jmp b3 - //SEG82 [49] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] + //SEG80 [47] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] b3_from_b4: - //SEG83 [49] phi (byte*) init_plot_tables::yoffs#2 = (byte*) init_plot_tables::yoffs#4 [phi:init_plot_tables::@4->init_plot_tables::@3#0] -- register_copy - //SEG84 [49] phi (byte) init_plot_tables::y#2 = (byte) init_plot_tables::y#1 [phi:init_plot_tables::@4->init_plot_tables::@3#1] -- register_copy - //SEG85 init_plot_tables::@3 + //SEG81 [47] phi (byte*) init_plot_tables::yoffs#2 = (byte*) init_plot_tables::yoffs#4 [phi:init_plot_tables::@4->init_plot_tables::@3#0] -- register_copy + //SEG82 [47] phi (byte) init_plot_tables::y#2 = (byte) init_plot_tables::y#1 [phi:init_plot_tables::@4->init_plot_tables::@3#1] -- register_copy + //SEG83 init_plot_tables::@3 b3: - //SEG86 [50] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) -- zpby1=xby_band_coby1 + //SEG84 [48] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) -- zpby1=xby_band_coby1 txa and #7 sta _6 - //SEG87 [51] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ) -- aby=_lo_zpptrby1 + //SEG85 [49] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ) -- aby=_lo_zpptrby1 lda yoffs - //SEG88 [52] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ) -- aby=zpby1_bor_aby + //SEG86 [50] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ) -- aby=zpby1_bor_aby ora _6 - //SEG89 [53] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_xby=aby + //SEG87 [51] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_xby=aby sta plot_ylo,x - //SEG90 [54] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ) -- aby=_hi_zpptrby1 + //SEG88 [52] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ) -- aby=_hi_zpptrby1 lda yoffs+1 - //SEG91 [55] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_xby=aby + //SEG89 [53] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_xby=aby sta plot_yhi,x - //SEG92 [56] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) -- aby=xby_band_coby1 + //SEG90 [54] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) -- aby=xby_band_coby1 txa and #7 - //SEG93 [57] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- aby_neq_coby1_then_la1 + //SEG91 [55] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- aby_neq_coby1_then_la1 cmp #7 bne b4_from_b3 - //SEG94 init_plot_tables::@7 + //SEG92 init_plot_tables::@7 b7: - //SEG95 [58] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) -- zpptrby1=zpptrby1_plus_cowo1 + //SEG93 [56] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) -- zpptrby1=zpptrby1_plus_cowo1 lda yoffs clc adc #<$140 @@ -7273,93 +7179,93 @@ init_plot_tables: { lda yoffs+1 adc #>$140 sta yoffs+1 - //SEG96 [59] phi from init_plot_tables::@3 init_plot_tables::@7 to init_plot_tables::@4 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4] + //SEG94 [57] phi from init_plot_tables::@3 init_plot_tables::@7 to init_plot_tables::@4 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4] b4_from_b3: b4_from_b7: - //SEG97 [59] phi (byte*) init_plot_tables::yoffs#4 = (byte*) init_plot_tables::yoffs#2 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4#0] -- register_copy - //SEG98 init_plot_tables::@4 + //SEG95 [57] phi (byte*) init_plot_tables::yoffs#4 = (byte*) init_plot_tables::yoffs#2 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4#0] -- register_copy + //SEG96 init_plot_tables::@4 b4: - //SEG99 [60] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- xby=_inc_xby + //SEG97 [58] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- xby=_inc_xby inx - //SEG100 [61] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- xby_neq_0_then_la1 + //SEG98 [59] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- xby_neq_0_then_la1 cpx #0 bne b3_from_b4 - //SEG101 init_plot_tables::@return + //SEG99 init_plot_tables::@return breturn: - //SEG102 [62] return [ ] ( main:0::init_plot_tables:6 [ ] ) + //SEG100 [60] return [ ] ( main:0::init_plot_tables:6 [ ] ) rts - //SEG103 init_plot_tables::@10 + //SEG101 init_plot_tables::@10 b10: - //SEG104 [46] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] + //SEG102 [44] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] b2_from_b10: - //SEG105 [46] phi (byte) init_plot_tables::bits#4 = (byte) init_plot_tables::bits#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy + //SEG103 [44] phi (byte) init_plot_tables::bits#4 = (byte) init_plot_tables::bits#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy jmp b2 } -//SEG106 init_screen +//SEG104 init_screen init_screen: { .label b = 3 .label c = 3 - //SEG107 [64] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] + //SEG105 [62] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] b1_from_init_screen: - //SEG108 [64] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 + //SEG106 [62] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 lda #BITMAP sta b+1 jmp b1 - //SEG109 [64] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] + //SEG107 [62] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] b1_from_b1: - //SEG110 [64] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy - //SEG111 init_screen::@1 + //SEG108 [62] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy + //SEG109 init_screen::@1 b1: - //SEG112 [65] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) -- _star_zpptrby1=coby1 + //SEG110 [63] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) -- _star_zpptrby1=coby1 ldy #0 lda #0 sta (b),y - //SEG113 [66] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG111 [64] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1=_inc_zpptrby1 inc b bne !+ inc b+1 !: - //SEG114 [67] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1_neq_cowo1_then_la1 + //SEG112 [65] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1_neq_cowo1_then_la1 lda b+1 cmp #>BITMAP+$2000 bne b1_from_b1 lda b cmp #init_screen::@2] + //SEG113 [66] phi from init_screen::@1 to init_screen::@2 [phi:init_screen::@1->init_screen::@2] b2_from_b1: - //SEG116 [68] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 + //SEG114 [66] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 lda #SCREEN sta c+1 jmp b2 - //SEG117 [68] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] + //SEG115 [66] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] b2_from_b2: - //SEG118 [68] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy - //SEG119 init_screen::@2 + //SEG116 [66] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy + //SEG117 init_screen::@2 b2: - //SEG120 [69] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) -- _star_zpptrby1=coby1 + //SEG118 [67] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) -- _star_zpptrby1=coby1 ldy #0 lda #$14 sta (c),y - //SEG121 [70] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG119 [68] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1=_inc_zpptrby1 inc c bne !+ inc c+1 !: - //SEG122 [71] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1_neq_cowo1_then_la1 + //SEG120 [69] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1_neq_cowo1_then_la1 lda c+1 cmp #>SCREEN+$400 bne b2_from_b2 lda c cmp #init_screen] + //SEG12 [61] phi from main to init_screen [phi:main->init_screen] init_screen_from_main: jsr init_screen //SEG13 main::@5 b5: //SEG14 [6] call init_plot_tables param-assignment [ ] ( main:0 [ ] ) - //SEG15 [38] phi from main::@5 to init_plot_tables [phi:main::@5->init_plot_tables] + //SEG15 [36] phi from main::@5 to init_plot_tables [phi:main::@5->init_plot_tables] jsr init_plot_tables //SEG16 main::@2 b2: @@ -7449,97 +7355,89 @@ main: { bne b2 //SEG18 main::@3 b3: - //SEG19 [8] (byte~) main::$6 ← *((const byte*) BGCOL#0) + (byte) 1 [ main::$6 ] ( main:0 [ main::$6 ] ) -- aby=_star_cowo1_plus_1 - lda BGCOL - clc - adc #1 - //SEG20 [9] *((const byte*) BGCOL#0) ← (byte~) main::$6 [ ] ( main:0 [ ] ) -- _star_cowo1=aby - sta BGCOL - //SEG21 [10] call plots param-assignment [ ] ( main:0 [ ] ) - //SEG22 [15] phi from main::@3 to plots [phi:main::@3->plots] + //SEG19 [8] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) -- _star_cowo1=_inc__star_cowo1 + inc BGCOL + //SEG20 [9] call plots param-assignment [ ] ( main:0 [ ] ) + //SEG21 [13] phi from main::@3 to plots [phi:main::@3->plots] plots_from_b3: jsr plots - //SEG23 main::@7 + //SEG22 main::@7 b7: - //SEG24 [11] (byte~) main::$8 ← *((const byte*) BGCOL#0) - (byte) 1 [ main::$8 ] ( main:0 [ main::$8 ] ) -- aby=_star_cowo1_minus_1 - lda BGCOL - sec - sbc #1 - //SEG25 [12] *((const byte*) BGCOL#0) ← (byte~) main::$8 [ ] ( main:0 [ ] ) -- _star_cowo1=aby - sta BGCOL - //SEG26 [13] if(true) goto main::@2 [ ] ( main:0 [ ] ) -- true_then_la1 + //SEG23 [10] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) -- _star_cowo1=_dec__star_cowo1 + dec BGCOL + //SEG24 [11] if(true) goto main::@2 [ ] ( main:0 [ ] ) -- true_then_la1 jmp b2 - //SEG27 main::@return + //SEG25 main::@return breturn: - //SEG28 [14] return [ ] ( main:0 [ ] ) + //SEG26 [12] return [ ] ( main:0 [ ] ) rts } -//SEG29 plots +//SEG27 plots plots: { .label i = 2 - //SEG30 [16] phi from plots to plots::@1 [phi:plots->plots::@1] + //SEG28 [14] phi from plots to plots::@1 [phi:plots->plots::@1] b1_from_plots: - //SEG31 [16] phi (byte) plots::i#2 = (byte) 0 [phi:plots->plots::@1#0] -- zpby1=coby1 + //SEG29 [14] phi (byte) plots::i#2 = (byte) 0 [phi:plots->plots::@1#0] -- zpby1=coby1 lda #0 sta i jmp b1 - //SEG32 [16] phi from plots::@3 to plots::@1 [phi:plots::@3->plots::@1] - //SEG33 [16] phi (byte) plots::i#2 = (byte) plots::i#1 [phi:plots::@3->plots::@1#0] -- register_copy - //SEG34 plots::@1 + //SEG30 [14] phi from plots::@3 to plots::@1 [phi:plots::@3->plots::@1] + //SEG31 [14] phi (byte) plots::i#2 = (byte) plots::i#1 [phi:plots::@3->plots::@1#0] -- register_copy + //SEG32 plots::@1 b1: - //SEG35 [17] (byte~) plots::$0 ← (const byte[]) plots_x#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 ] ( main:0::plots:10 [ plots::i#2 plots::$0 ] ) -- yby=cowo1_staridx_zpby1 + //SEG33 [15] (byte~) plots::$0 ← (const byte[]) plots_x#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 ] ( main:0::plots:9 [ plots::i#2 plots::$0 ] ) -- yby=cowo1_staridx_zpby1 ldx i lda plots_x,x tay - //SEG36 [18] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:0::plots:10 [ plots::i#2 plots::$0 plots::$1 ] ) -- aby=cowo1_staridx_zpby1 + //SEG34 [16] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:0::plots:9 [ plots::i#2 plots::$0 plots::$1 ] ) -- aby=cowo1_staridx_zpby1 ldx i lda plots_y,x - //SEG37 [19] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:0::plots:10 [ plots::i#2 plots::$1 plot::x#0 ] ) + //SEG35 [17] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:0::plots:9 [ plots::i#2 plots::$1 plot::x#0 ] ) // (byte) plot::x#0 = (byte~) plots::$0 // register copy reg byte y - //SEG38 [20] (byte) plot::y#0 ← (byte~) plots::$1 [ plots::i#2 plot::x#0 plot::y#0 ] ( main:0::plots:10 [ plots::i#2 plot::x#0 plot::y#0 ] ) -- xby=aby + //SEG36 [18] (byte) plot::y#0 ← (byte~) plots::$1 [ plots::i#2 plot::x#0 plot::y#0 ] ( main:0::plots:9 [ plots::i#2 plot::x#0 plot::y#0 ] ) -- xby=aby tax - //SEG39 [21] call plot param-assignment [ plots::i#2 ] ( main:0::plots:10 [ plots::i#2 ] ) + //SEG37 [19] call plot param-assignment [ plots::i#2 ] ( main:0::plots:9 [ plots::i#2 ] ) jsr plot - //SEG40 plots::@3 + //SEG38 plots::@3 b3: - //SEG41 [22] (byte) plots::i#1 ← ++ (byte) plots::i#2 [ plots::i#1 ] ( main:0::plots:10 [ plots::i#1 ] ) -- zpby1=_inc_zpby1 + //SEG39 [20] (byte) plots::i#1 ← ++ (byte) plots::i#2 [ plots::i#1 ] ( main:0::plots:9 [ plots::i#1 ] ) -- zpby1=_inc_zpby1 inc i - //SEG42 [23] if((byte) plots::i#1<(const byte) plots_cnt#0) goto plots::@1 [ plots::i#1 ] ( main:0::plots:10 [ plots::i#1 ] ) -- zpby1_lt_coby1_then_la1 + //SEG40 [21] if((byte) plots::i#1<(const byte) plots_cnt#0) goto plots::@1 [ plots::i#1 ] ( main:0::plots:9 [ plots::i#1 ] ) -- zpby1_lt_coby1_then_la1 lda i cmp #plots_cnt bcc b1 - //SEG43 plots::@return + //SEG41 plots::@return breturn: - //SEG44 [24] return [ ] ( main:0::plots:10 [ ] ) + //SEG42 [22] return [ ] ( main:0::plots:9 [ ] ) rts } -//SEG45 plot +//SEG43 plot plot: { .label _5 = 7 .label plotter_x = 3 .label plotter_y = 5 .label plotter = 3 - //SEG46 [25] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::$0 ] ) -- aby=cowo1_staridx_yby + //SEG44 [23] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::$0 ] ) -- aby=cowo1_staridx_yby lda plot_xhi,y - //SEG47 [26] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#0 plot::y#0 plot::plotter_x#1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 ] ) -- zpptrby1=coby1_sethi_aby + //SEG45 [24] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#0 plot::y#0 plot::plotter_x#1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 ] ) -- zpptrby1=coby1_sethi_aby sta plotter_x+1 lda #<0 sta plotter_x - //SEG48 [27] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ) -- aby=cowo1_staridx_yby + //SEG46 [25] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ) -- aby=cowo1_staridx_yby lda plot_xlo,y - //SEG49 [28] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 ] ) -- zpptrby1=zpptrby1_setlo_aby + //SEG47 [26] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 ] ) -- zpptrby1=zpptrby1_setlo_aby sta plotter_x - //SEG50 [29] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#0 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ) -- aby=cowo1_staridx_xby + //SEG48 [27] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#0 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ) -- aby=cowo1_staridx_xby lda plot_yhi,x - //SEG51 [30] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ) -- zpptrby1=coby1_sethi_aby + //SEG49 [28] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ) -- zpptrby1=coby1_sethi_aby sta plotter_y+1 lda #<0 sta plotter_y - //SEG52 [31] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#0 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ) -- aby=cowo1_staridx_xby + //SEG50 [29] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#0 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ) -- aby=cowo1_staridx_xby lda plot_ylo,x - //SEG53 [32] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ) -- zpptrby1=zpptrby1_setlo_aby + //SEG51 [30] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ) -- zpptrby1=zpptrby1_setlo_aby sta plotter_y - //SEG54 [33] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter#0 ] ) -- zpptrby1=zpptrby1_plus_zpptrby2 + //SEG52 [31] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter#0 ] ) -- zpptrby1=zpptrby1_plus_zpptrby2 lda plotter clc adc plotter_y @@ -7547,102 +7445,102 @@ plot: { lda plotter+1 adc plotter_y+1 sta plotter+1 - //SEG55 [34] (byte~) plot::$5 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#0 plot::$5 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::plotter#0 plot::$5 ] ) -- zpby1=cowo1_staridx_yby + //SEG53 [32] (byte~) plot::$5 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#0 plot::$5 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::plotter#0 plot::$5 ] ) -- zpby1=cowo1_staridx_yby lda plot_bit,y sta _5 - //SEG56 [35] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::plotter#0 plot::$6 ] ) -- aby=_star_zpptrby1_bor_zpby1 + //SEG54 [33] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::plotter#0 plot::$6 ] ) -- aby=_star_zpptrby1_bor_zpby1 ldy #0 lda (plotter),y ora _5 - //SEG57 [36] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] ( main:0::plots:10::plot:21 [ plots::i#2 ] ) -- _star_zpptrby1=aby + //SEG55 [34] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] ( main:0::plots:9::plot:19 [ plots::i#2 ] ) -- _star_zpptrby1=aby sta (plotter),y - //SEG58 plot::@return + //SEG56 plot::@return breturn: - //SEG59 [37] return [ ] ( main:0::plots:10::plot:21 [ plots::i#2 ] ) + //SEG57 [35] return [ ] ( main:0::plots:9::plot:19 [ plots::i#2 ] ) rts } -//SEG60 init_plot_tables +//SEG58 init_plot_tables init_plot_tables: { .label _6 = 2 .label yoffs = 3 - //SEG61 [39] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] + //SEG59 [37] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] b1_from_init_plot_tables: - //SEG62 [39] phi (byte) init_plot_tables::bits#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- yby=coby1 + //SEG60 [37] phi (byte) init_plot_tables::bits#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- yby=coby1 ldy #$80 - //SEG63 [39] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- xby=coby1 + //SEG61 [37] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- xby=coby1 ldx #0 jmp b1 - //SEG64 [39] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] - //SEG65 [39] phi (byte) init_plot_tables::bits#3 = (byte) init_plot_tables::bits#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy - //SEG66 [39] phi (byte) init_plot_tables::x#2 = (byte) init_plot_tables::x#1 [phi:init_plot_tables::@2->init_plot_tables::@1#1] -- register_copy - //SEG67 init_plot_tables::@1 + //SEG62 [37] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] + //SEG63 [37] phi (byte) init_plot_tables::bits#3 = (byte) init_plot_tables::bits#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy + //SEG64 [37] phi (byte) init_plot_tables::x#2 = (byte) init_plot_tables::x#1 [phi:init_plot_tables::@2->init_plot_tables::@1#1] -- register_copy + //SEG65 init_plot_tables::@1 b1: - //SEG68 [40] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ) -- aby=xby_band_coby1 + //SEG66 [38] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ) -- aby=xby_band_coby1 txa and #$f8 - //SEG69 [41] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=aby + //SEG67 [39] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=aby sta plot_xlo,x - //SEG70 [42] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=coby2 + //SEG68 [40] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=coby2 lda #>BITMAP sta plot_xhi,x - //SEG71 [43] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=yby + //SEG69 [41] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=yby tya sta plot_bit,x - //SEG72 [44] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ) -- yby=yby_ror_1 + //SEG70 [42] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ) -- yby=yby_ror_1 tya lsr tay - //SEG73 [45] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 ] ) -- yby_neq_0_then_la1 + //SEG71 [43] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 ] ) -- yby_neq_0_then_la1 cpy #0 bne b10 - //SEG74 [46] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] + //SEG72 [44] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] b2_from_b1: - //SEG75 [46] phi (byte) init_plot_tables::bits#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- yby=coby1 + //SEG73 [44] phi (byte) init_plot_tables::bits#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- yby=coby1 ldy #$80 - //SEG76 init_plot_tables::@2 + //SEG74 init_plot_tables::@2 b2: - //SEG77 [47] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- xby=_inc_xby + //SEG75 [45] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- xby=_inc_xby inx - //SEG78 [48] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- xby_neq_0_then_la1 + //SEG76 [46] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- xby_neq_0_then_la1 cpx #0 bne b1 - //SEG79 [49] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] + //SEG77 [47] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] b3_from_b2: - //SEG80 [49] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 + //SEG78 [47] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 lda #0 sta yoffs sta yoffs+1 - //SEG81 [49] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- xby=coby1 + //SEG79 [47] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- xby=coby1 ldx #0 jmp b3 - //SEG82 [49] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] - //SEG83 [49] phi (byte*) init_plot_tables::yoffs#2 = (byte*) init_plot_tables::yoffs#4 [phi:init_plot_tables::@4->init_plot_tables::@3#0] -- register_copy - //SEG84 [49] phi (byte) init_plot_tables::y#2 = (byte) init_plot_tables::y#1 [phi:init_plot_tables::@4->init_plot_tables::@3#1] -- register_copy - //SEG85 init_plot_tables::@3 + //SEG80 [47] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] + //SEG81 [47] phi (byte*) init_plot_tables::yoffs#2 = (byte*) init_plot_tables::yoffs#4 [phi:init_plot_tables::@4->init_plot_tables::@3#0] -- register_copy + //SEG82 [47] phi (byte) init_plot_tables::y#2 = (byte) init_plot_tables::y#1 [phi:init_plot_tables::@4->init_plot_tables::@3#1] -- register_copy + //SEG83 init_plot_tables::@3 b3: - //SEG86 [50] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) -- zpby1=xby_band_coby1 + //SEG84 [48] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) -- zpby1=xby_band_coby1 txa and #7 sta _6 - //SEG87 [51] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ) -- aby=_lo_zpptrby1 + //SEG85 [49] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ) -- aby=_lo_zpptrby1 lda yoffs - //SEG88 [52] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ) -- aby=zpby1_bor_aby + //SEG86 [50] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ) -- aby=zpby1_bor_aby ora _6 - //SEG89 [53] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_xby=aby + //SEG87 [51] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_xby=aby sta plot_ylo,x - //SEG90 [54] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ) -- aby=_hi_zpptrby1 + //SEG88 [52] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ) -- aby=_hi_zpptrby1 lda yoffs+1 - //SEG91 [55] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_xby=aby + //SEG89 [53] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_xby=aby sta plot_yhi,x - //SEG92 [56] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) -- aby=xby_band_coby1 + //SEG90 [54] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) -- aby=xby_band_coby1 txa and #7 - //SEG93 [57] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- aby_neq_coby1_then_la1 + //SEG91 [55] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- aby_neq_coby1_then_la1 cmp #7 bne b4 - //SEG94 init_plot_tables::@7 + //SEG92 init_plot_tables::@7 b7: - //SEG95 [58] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) -- zpptrby1=zpptrby1_plus_cowo1 + //SEG93 [56] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) -- zpptrby1=zpptrby1_plus_cowo1 lda yoffs clc adc #<$140 @@ -7650,88 +7548,88 @@ init_plot_tables: { lda yoffs+1 adc #>$140 sta yoffs+1 - //SEG96 [59] phi from init_plot_tables::@3 init_plot_tables::@7 to init_plot_tables::@4 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4] - //SEG97 [59] phi (byte*) init_plot_tables::yoffs#4 = (byte*) init_plot_tables::yoffs#2 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4#0] -- register_copy - //SEG98 init_plot_tables::@4 + //SEG94 [57] phi from init_plot_tables::@3 init_plot_tables::@7 to init_plot_tables::@4 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4] + //SEG95 [57] phi (byte*) init_plot_tables::yoffs#4 = (byte*) init_plot_tables::yoffs#2 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4#0] -- register_copy + //SEG96 init_plot_tables::@4 b4: - //SEG99 [60] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- xby=_inc_xby + //SEG97 [58] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- xby=_inc_xby inx - //SEG100 [61] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- xby_neq_0_then_la1 + //SEG98 [59] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- xby_neq_0_then_la1 cpx #0 bne b3 - //SEG101 init_plot_tables::@return + //SEG99 init_plot_tables::@return breturn: - //SEG102 [62] return [ ] ( main:0::init_plot_tables:6 [ ] ) + //SEG100 [60] return [ ] ( main:0::init_plot_tables:6 [ ] ) rts - //SEG103 init_plot_tables::@10 + //SEG101 init_plot_tables::@10 b10: - //SEG104 [46] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] - //SEG105 [46] phi (byte) init_plot_tables::bits#4 = (byte) init_plot_tables::bits#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy + //SEG102 [44] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] + //SEG103 [44] phi (byte) init_plot_tables::bits#4 = (byte) init_plot_tables::bits#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy jmp b2 } -//SEG106 init_screen +//SEG104 init_screen init_screen: { .label b = 3 .label c = 3 - //SEG107 [64] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] + //SEG105 [62] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] b1_from_init_screen: - //SEG108 [64] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 + //SEG106 [62] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 lda #BITMAP sta b+1 jmp b1 - //SEG109 [64] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] - //SEG110 [64] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy - //SEG111 init_screen::@1 + //SEG107 [62] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] + //SEG108 [62] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy + //SEG109 init_screen::@1 b1: - //SEG112 [65] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) -- _star_zpptrby1=coby1 + //SEG110 [63] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) -- _star_zpptrby1=coby1 ldy #0 lda #0 sta (b),y - //SEG113 [66] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG111 [64] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1=_inc_zpptrby1 inc b bne !+ inc b+1 !: - //SEG114 [67] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1_neq_cowo1_then_la1 + //SEG112 [65] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1_neq_cowo1_then_la1 lda b+1 cmp #>BITMAP+$2000 bne b1 lda b cmp #init_screen::@2] + //SEG113 [66] phi from init_screen::@1 to init_screen::@2 [phi:init_screen::@1->init_screen::@2] b2_from_b1: - //SEG116 [68] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 + //SEG114 [66] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 lda #SCREEN sta c+1 jmp b2 - //SEG117 [68] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] - //SEG118 [68] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy - //SEG119 init_screen::@2 + //SEG115 [66] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] + //SEG116 [66] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy + //SEG117 init_screen::@2 b2: - //SEG120 [69] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) -- _star_zpptrby1=coby1 + //SEG118 [67] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) -- _star_zpptrby1=coby1 ldy #0 lda #$14 sta (c),y - //SEG121 [70] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG119 [68] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1=_inc_zpptrby1 inc c bne !+ inc c+1 !: - //SEG122 [71] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1_neq_cowo1_then_la1 + //SEG120 [69] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1_neq_cowo1_then_la1 lda c+1 cmp #>SCREEN+$400 bne b2 lda c cmp #init_screen] + //SEG12 [61] phi from main to init_screen [phi:main->init_screen] jsr init_screen //SEG13 main::@5 //SEG14 [6] call init_plot_tables param-assignment [ ] ( main:0 [ ] ) - //SEG15 [38] phi from main::@5 to init_plot_tables [phi:main::@5->init_plot_tables] + //SEG15 [36] phi from main::@5 to init_plot_tables [phi:main::@5->init_plot_tables] jsr init_plot_tables //SEG16 main::@2 b2: @@ -7818,91 +7716,83 @@ main: { cmp #$ff bne b2 //SEG18 main::@3 - //SEG19 [8] (byte~) main::$6 ← *((const byte*) BGCOL#0) + (byte) 1 [ main::$6 ] ( main:0 [ main::$6 ] ) -- aby=_star_cowo1_plus_1 - lda BGCOL - clc - adc #1 - //SEG20 [9] *((const byte*) BGCOL#0) ← (byte~) main::$6 [ ] ( main:0 [ ] ) -- _star_cowo1=aby - sta BGCOL - //SEG21 [10] call plots param-assignment [ ] ( main:0 [ ] ) - //SEG22 [15] phi from main::@3 to plots [phi:main::@3->plots] + //SEG19 [8] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) -- _star_cowo1=_inc__star_cowo1 + inc BGCOL + //SEG20 [9] call plots param-assignment [ ] ( main:0 [ ] ) + //SEG21 [13] phi from main::@3 to plots [phi:main::@3->plots] jsr plots - //SEG23 main::@7 - //SEG24 [11] (byte~) main::$8 ← *((const byte*) BGCOL#0) - (byte) 1 [ main::$8 ] ( main:0 [ main::$8 ] ) -- aby=_star_cowo1_minus_1 - lda BGCOL - sec - sbc #1 - //SEG25 [12] *((const byte*) BGCOL#0) ← (byte~) main::$8 [ ] ( main:0 [ ] ) -- _star_cowo1=aby - sta BGCOL - //SEG26 [13] if(true) goto main::@2 [ ] ( main:0 [ ] ) -- true_then_la1 + //SEG22 main::@7 + //SEG23 [10] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) -- _star_cowo1=_dec__star_cowo1 + dec BGCOL + //SEG24 [11] if(true) goto main::@2 [ ] ( main:0 [ ] ) -- true_then_la1 jmp b2 - //SEG27 main::@return - //SEG28 [14] return [ ] ( main:0 [ ] ) + //SEG25 main::@return + //SEG26 [12] return [ ] ( main:0 [ ] ) rts } -//SEG29 plots +//SEG27 plots plots: { .label i = 2 - //SEG30 [16] phi from plots to plots::@1 [phi:plots->plots::@1] - //SEG31 [16] phi (byte) plots::i#2 = (byte) 0 [phi:plots->plots::@1#0] -- zpby1=coby1 + //SEG28 [14] phi from plots to plots::@1 [phi:plots->plots::@1] + //SEG29 [14] phi (byte) plots::i#2 = (byte) 0 [phi:plots->plots::@1#0] -- zpby1=coby1 lda #0 sta i jmp b1 - //SEG32 [16] phi from plots::@3 to plots::@1 [phi:plots::@3->plots::@1] - //SEG33 [16] phi (byte) plots::i#2 = (byte) plots::i#1 [phi:plots::@3->plots::@1#0] -- register_copy - //SEG34 plots::@1 + //SEG30 [14] phi from plots::@3 to plots::@1 [phi:plots::@3->plots::@1] + //SEG31 [14] phi (byte) plots::i#2 = (byte) plots::i#1 [phi:plots::@3->plots::@1#0] -- register_copy + //SEG32 plots::@1 b1: - //SEG35 [17] (byte~) plots::$0 ← (const byte[]) plots_x#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 ] ( main:0::plots:10 [ plots::i#2 plots::$0 ] ) -- yby=cowo1_staridx_zpby1 + //SEG33 [15] (byte~) plots::$0 ← (const byte[]) plots_x#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 ] ( main:0::plots:9 [ plots::i#2 plots::$0 ] ) -- yby=cowo1_staridx_zpby1 ldx i lda plots_x,x tay - //SEG36 [18] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:0::plots:10 [ plots::i#2 plots::$0 plots::$1 ] ) -- aby=cowo1_staridx_zpby1 + //SEG34 [16] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:0::plots:9 [ plots::i#2 plots::$0 plots::$1 ] ) -- aby=cowo1_staridx_zpby1 ldx i lda plots_y,x - //SEG37 [19] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:0::plots:10 [ plots::i#2 plots::$1 plot::x#0 ] ) + //SEG35 [17] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:0::plots:9 [ plots::i#2 plots::$1 plot::x#0 ] ) // (byte) plot::x#0 = (byte~) plots::$0 // register copy reg byte y - //SEG38 [20] (byte) plot::y#0 ← (byte~) plots::$1 [ plots::i#2 plot::x#0 plot::y#0 ] ( main:0::plots:10 [ plots::i#2 plot::x#0 plot::y#0 ] ) -- xby=aby + //SEG36 [18] (byte) plot::y#0 ← (byte~) plots::$1 [ plots::i#2 plot::x#0 plot::y#0 ] ( main:0::plots:9 [ plots::i#2 plot::x#0 plot::y#0 ] ) -- xby=aby tax - //SEG39 [21] call plot param-assignment [ plots::i#2 ] ( main:0::plots:10 [ plots::i#2 ] ) + //SEG37 [19] call plot param-assignment [ plots::i#2 ] ( main:0::plots:9 [ plots::i#2 ] ) jsr plot - //SEG40 plots::@3 - //SEG41 [22] (byte) plots::i#1 ← ++ (byte) plots::i#2 [ plots::i#1 ] ( main:0::plots:10 [ plots::i#1 ] ) -- zpby1=_inc_zpby1 + //SEG38 plots::@3 + //SEG39 [20] (byte) plots::i#1 ← ++ (byte) plots::i#2 [ plots::i#1 ] ( main:0::plots:9 [ plots::i#1 ] ) -- zpby1=_inc_zpby1 inc i - //SEG42 [23] if((byte) plots::i#1<(const byte) plots_cnt#0) goto plots::@1 [ plots::i#1 ] ( main:0::plots:10 [ plots::i#1 ] ) -- zpby1_lt_coby1_then_la1 + //SEG40 [21] if((byte) plots::i#1<(const byte) plots_cnt#0) goto plots::@1 [ plots::i#1 ] ( main:0::plots:9 [ plots::i#1 ] ) -- zpby1_lt_coby1_then_la1 lda i cmp #plots_cnt bcc b1 - //SEG43 plots::@return - //SEG44 [24] return [ ] ( main:0::plots:10 [ ] ) + //SEG41 plots::@return + //SEG42 [22] return [ ] ( main:0::plots:9 [ ] ) rts } -//SEG45 plot +//SEG43 plot plot: { .label _5 = 7 .label plotter_x = 3 .label plotter_y = 5 .label plotter = 3 - //SEG46 [25] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::$0 ] ) -- aby=cowo1_staridx_yby + //SEG44 [23] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::$0 ] ) -- aby=cowo1_staridx_yby lda plot_xhi,y - //SEG47 [26] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#0 plot::y#0 plot::plotter_x#1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 ] ) -- zpptrby1=coby1_sethi_aby + //SEG45 [24] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#0 plot::y#0 plot::plotter_x#1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 ] ) -- zpptrby1=coby1_sethi_aby sta plotter_x+1 lda #<0 sta plotter_x - //SEG48 [27] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ) -- aby=cowo1_staridx_yby + //SEG46 [25] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ) -- aby=cowo1_staridx_yby lda plot_xlo,y - //SEG49 [28] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 ] ) -- zpptrby1=zpptrby1_setlo_aby + //SEG47 [26] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 ] ) -- zpptrby1=zpptrby1_setlo_aby sta plotter_x - //SEG50 [29] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#0 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ) -- aby=cowo1_staridx_xby + //SEG48 [27] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#0 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ) -- aby=cowo1_staridx_xby lda plot_yhi,x - //SEG51 [30] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ) -- zpptrby1=coby1_sethi_aby + //SEG49 [28] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ) -- zpptrby1=coby1_sethi_aby sta plotter_y+1 lda #<0 sta plotter_y - //SEG52 [31] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#0 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ) -- aby=cowo1_staridx_xby + //SEG50 [29] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#0 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ) -- aby=cowo1_staridx_xby lda plot_ylo,x - //SEG53 [32] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ) -- zpptrby1=zpptrby1_setlo_aby + //SEG51 [30] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ) -- zpptrby1=zpptrby1_setlo_aby sta plotter_y - //SEG54 [33] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter#0 ] ) -- zpptrby1=zpptrby1_plus_zpptrby2 + //SEG52 [31] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter#0 ] ) -- zpptrby1=zpptrby1_plus_zpptrby2 lda plotter clc adc plotter_y @@ -7910,97 +7800,97 @@ plot: { lda plotter+1 adc plotter_y+1 sta plotter+1 - //SEG55 [34] (byte~) plot::$5 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#0 plot::$5 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::plotter#0 plot::$5 ] ) -- zpby1=cowo1_staridx_yby + //SEG53 [32] (byte~) plot::$5 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#0 plot::$5 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::plotter#0 plot::$5 ] ) -- zpby1=cowo1_staridx_yby lda plot_bit,y sta _5 - //SEG56 [35] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::plotter#0 plot::$6 ] ) -- aby=_star_zpptrby1_bor_zpby1 + //SEG54 [33] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::plotter#0 plot::$6 ] ) -- aby=_star_zpptrby1_bor_zpby1 ldy #0 lda (plotter),y ora _5 - //SEG57 [36] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] ( main:0::plots:10::plot:21 [ plots::i#2 ] ) -- _star_zpptrby1=aby + //SEG55 [34] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] ( main:0::plots:9::plot:19 [ plots::i#2 ] ) -- _star_zpptrby1=aby sta (plotter),y - //SEG58 plot::@return - //SEG59 [37] return [ ] ( main:0::plots:10::plot:21 [ plots::i#2 ] ) + //SEG56 plot::@return + //SEG57 [35] return [ ] ( main:0::plots:9::plot:19 [ plots::i#2 ] ) rts } -//SEG60 init_plot_tables +//SEG58 init_plot_tables init_plot_tables: { .label _6 = 2 .label yoffs = 3 - //SEG61 [39] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] - //SEG62 [39] phi (byte) init_plot_tables::bits#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- yby=coby1 + //SEG59 [37] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] + //SEG60 [37] phi (byte) init_plot_tables::bits#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- yby=coby1 ldy #$80 - //SEG63 [39] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- xby=coby1 + //SEG61 [37] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- xby=coby1 ldx #0 jmp b1 - //SEG64 [39] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] - //SEG65 [39] phi (byte) init_plot_tables::bits#3 = (byte) init_plot_tables::bits#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy - //SEG66 [39] phi (byte) init_plot_tables::x#2 = (byte) init_plot_tables::x#1 [phi:init_plot_tables::@2->init_plot_tables::@1#1] -- register_copy - //SEG67 init_plot_tables::@1 + //SEG62 [37] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] + //SEG63 [37] phi (byte) init_plot_tables::bits#3 = (byte) init_plot_tables::bits#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy + //SEG64 [37] phi (byte) init_plot_tables::x#2 = (byte) init_plot_tables::x#1 [phi:init_plot_tables::@2->init_plot_tables::@1#1] -- register_copy + //SEG65 init_plot_tables::@1 b1: - //SEG68 [40] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ) -- aby=xby_band_coby1 + //SEG66 [38] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ) -- aby=xby_band_coby1 txa and #$f8 - //SEG69 [41] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=aby + //SEG67 [39] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=aby sta plot_xlo,x - //SEG70 [42] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=coby2 + //SEG68 [40] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=coby2 lda #>BITMAP sta plot_xhi,x - //SEG71 [43] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=yby + //SEG69 [41] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=yby tya sta plot_bit,x - //SEG72 [44] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ) -- yby=yby_ror_1 + //SEG70 [42] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ) -- yby=yby_ror_1 tya lsr tay - //SEG73 [45] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 ] ) -- yby_neq_0_then_la1 + //SEG71 [43] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 ] ) -- yby_neq_0_then_la1 cpy #0 bne b10 - //SEG74 [46] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] - //SEG75 [46] phi (byte) init_plot_tables::bits#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- yby=coby1 + //SEG72 [44] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] + //SEG73 [44] phi (byte) init_plot_tables::bits#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- yby=coby1 ldy #$80 - //SEG76 init_plot_tables::@2 + //SEG74 init_plot_tables::@2 b2: - //SEG77 [47] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- xby=_inc_xby + //SEG75 [45] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- xby=_inc_xby inx - //SEG78 [48] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- xby_neq_0_then_la1 + //SEG76 [46] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- xby_neq_0_then_la1 cpx #0 bne b1 - //SEG79 [49] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] - //SEG80 [49] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 + //SEG77 [47] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] + //SEG78 [47] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 lda #0 sta yoffs sta yoffs+1 - //SEG81 [49] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- xby=coby1 + //SEG79 [47] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- xby=coby1 ldx #0 jmp b3 - //SEG82 [49] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] - //SEG83 [49] phi (byte*) init_plot_tables::yoffs#2 = (byte*) init_plot_tables::yoffs#4 [phi:init_plot_tables::@4->init_plot_tables::@3#0] -- register_copy - //SEG84 [49] phi (byte) init_plot_tables::y#2 = (byte) init_plot_tables::y#1 [phi:init_plot_tables::@4->init_plot_tables::@3#1] -- register_copy - //SEG85 init_plot_tables::@3 + //SEG80 [47] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] + //SEG81 [47] phi (byte*) init_plot_tables::yoffs#2 = (byte*) init_plot_tables::yoffs#4 [phi:init_plot_tables::@4->init_plot_tables::@3#0] -- register_copy + //SEG82 [47] phi (byte) init_plot_tables::y#2 = (byte) init_plot_tables::y#1 [phi:init_plot_tables::@4->init_plot_tables::@3#1] -- register_copy + //SEG83 init_plot_tables::@3 b3: - //SEG86 [50] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) -- zpby1=xby_band_coby1 + //SEG84 [48] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) -- zpby1=xby_band_coby1 txa and #7 sta _6 - //SEG87 [51] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ) -- aby=_lo_zpptrby1 + //SEG85 [49] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ) -- aby=_lo_zpptrby1 lda yoffs - //SEG88 [52] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ) -- aby=zpby1_bor_aby + //SEG86 [50] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ) -- aby=zpby1_bor_aby ora _6 - //SEG89 [53] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_xby=aby + //SEG87 [51] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_xby=aby sta plot_ylo,x - //SEG90 [54] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ) -- aby=_hi_zpptrby1 + //SEG88 [52] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ) -- aby=_hi_zpptrby1 lda yoffs+1 - //SEG91 [55] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_xby=aby + //SEG89 [53] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_xby=aby sta plot_yhi,x - //SEG92 [56] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) -- aby=xby_band_coby1 + //SEG90 [54] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) -- aby=xby_band_coby1 txa and #7 - //SEG93 [57] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- aby_neq_coby1_then_la1 + //SEG91 [55] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- aby_neq_coby1_then_la1 cmp #7 bne b4 - //SEG94 init_plot_tables::@7 - //SEG95 [58] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) -- zpptrby1=zpptrby1_plus_cowo1 + //SEG92 init_plot_tables::@7 + //SEG93 [56] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) -- zpptrby1=zpptrby1_plus_cowo1 lda yoffs clc adc #<$140 @@ -8008,84 +7898,84 @@ init_plot_tables: { lda yoffs+1 adc #>$140 sta yoffs+1 - //SEG96 [59] phi from init_plot_tables::@3 init_plot_tables::@7 to init_plot_tables::@4 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4] - //SEG97 [59] phi (byte*) init_plot_tables::yoffs#4 = (byte*) init_plot_tables::yoffs#2 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4#0] -- register_copy - //SEG98 init_plot_tables::@4 + //SEG94 [57] phi from init_plot_tables::@3 init_plot_tables::@7 to init_plot_tables::@4 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4] + //SEG95 [57] phi (byte*) init_plot_tables::yoffs#4 = (byte*) init_plot_tables::yoffs#2 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4#0] -- register_copy + //SEG96 init_plot_tables::@4 b4: - //SEG99 [60] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- xby=_inc_xby + //SEG97 [58] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- xby=_inc_xby inx - //SEG100 [61] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- xby_neq_0_then_la1 + //SEG98 [59] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- xby_neq_0_then_la1 cpx #0 bne b3 - //SEG101 init_plot_tables::@return - //SEG102 [62] return [ ] ( main:0::init_plot_tables:6 [ ] ) + //SEG99 init_plot_tables::@return + //SEG100 [60] return [ ] ( main:0::init_plot_tables:6 [ ] ) rts - //SEG103 init_plot_tables::@10 + //SEG101 init_plot_tables::@10 b10: - //SEG104 [46] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] - //SEG105 [46] phi (byte) init_plot_tables::bits#4 = (byte) init_plot_tables::bits#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy + //SEG102 [44] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] + //SEG103 [44] phi (byte) init_plot_tables::bits#4 = (byte) init_plot_tables::bits#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy jmp b2 } -//SEG106 init_screen +//SEG104 init_screen init_screen: { .label b = 3 .label c = 3 - //SEG107 [64] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] - //SEG108 [64] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 + //SEG105 [62] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] + //SEG106 [62] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 lda #BITMAP sta b+1 jmp b1 - //SEG109 [64] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] - //SEG110 [64] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy - //SEG111 init_screen::@1 + //SEG107 [62] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] + //SEG108 [62] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy + //SEG109 init_screen::@1 b1: - //SEG112 [65] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) -- _star_zpptrby1=coby1 + //SEG110 [63] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) -- _star_zpptrby1=coby1 ldy #0 lda #0 sta (b),y - //SEG113 [66] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG111 [64] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1=_inc_zpptrby1 inc b bne !+ inc b+1 !: - //SEG114 [67] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1_neq_cowo1_then_la1 + //SEG112 [65] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1_neq_cowo1_then_la1 lda b+1 cmp #>BITMAP+$2000 bne b1 lda b cmp #init_screen::@2] - //SEG116 [68] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 + //SEG113 [66] phi from init_screen::@1 to init_screen::@2 [phi:init_screen::@1->init_screen::@2] + //SEG114 [66] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 lda #SCREEN sta c+1 jmp b2 - //SEG117 [68] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] - //SEG118 [68] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy - //SEG119 init_screen::@2 + //SEG115 [66] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] + //SEG116 [66] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy + //SEG117 init_screen::@2 b2: - //SEG120 [69] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) -- _star_zpptrby1=coby1 + //SEG118 [67] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) -- _star_zpptrby1=coby1 ldy #0 lda #$14 sta (c),y - //SEG121 [70] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG119 [68] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1=_inc_zpptrby1 inc c bne !+ inc c+1 !: - //SEG122 [71] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1_neq_cowo1_then_la1 + //SEG120 [69] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1_neq_cowo1_then_la1 lda c+1 cmp #>SCREEN+$400 bne b2 lda c cmp #init_screen] + //SEG12 [61] phi from main to init_screen [phi:main->init_screen] jsr init_screen //SEG13 main::@5 //SEG14 [6] call init_plot_tables param-assignment [ ] ( main:0 [ ] ) - //SEG15 [38] phi from main::@5 to init_plot_tables [phi:main::@5->init_plot_tables] + //SEG15 [36] phi from main::@5 to init_plot_tables [phi:main::@5->init_plot_tables] jsr init_plot_tables //SEG16 main::@2 b2: @@ -8157,90 +8047,82 @@ main: { cmp #$ff bne b2 //SEG18 main::@3 - //SEG19 [8] (byte~) main::$6 ← *((const byte*) BGCOL#0) + (byte) 1 [ main::$6 ] ( main:0 [ main::$6 ] ) -- aby=_star_cowo1_plus_1 - lda BGCOL - clc - adc #1 - //SEG20 [9] *((const byte*) BGCOL#0) ← (byte~) main::$6 [ ] ( main:0 [ ] ) -- _star_cowo1=aby - sta BGCOL - //SEG21 [10] call plots param-assignment [ ] ( main:0 [ ] ) - //SEG22 [15] phi from main::@3 to plots [phi:main::@3->plots] + //SEG19 [8] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) -- _star_cowo1=_inc__star_cowo1 + inc BGCOL + //SEG20 [9] call plots param-assignment [ ] ( main:0 [ ] ) + //SEG21 [13] phi from main::@3 to plots [phi:main::@3->plots] jsr plots - //SEG23 main::@7 - //SEG24 [11] (byte~) main::$8 ← *((const byte*) BGCOL#0) - (byte) 1 [ main::$8 ] ( main:0 [ main::$8 ] ) -- aby=_star_cowo1_minus_1 - lda BGCOL - sec - sbc #1 - //SEG25 [12] *((const byte*) BGCOL#0) ← (byte~) main::$8 [ ] ( main:0 [ ] ) -- _star_cowo1=aby - sta BGCOL - //SEG26 [13] if(true) goto main::@2 [ ] ( main:0 [ ] ) -- true_then_la1 + //SEG22 main::@7 + //SEG23 [10] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) -- _star_cowo1=_dec__star_cowo1 + dec BGCOL + //SEG24 [11] if(true) goto main::@2 [ ] ( main:0 [ ] ) -- true_then_la1 jmp b2 - //SEG27 main::@return - //SEG28 [14] return [ ] ( main:0 [ ] ) + //SEG25 main::@return + //SEG26 [12] return [ ] ( main:0 [ ] ) rts } -//SEG29 plots +//SEG27 plots plots: { .label i = 2 - //SEG30 [16] phi from plots to plots::@1 [phi:plots->plots::@1] - //SEG31 [16] phi (byte) plots::i#2 = (byte) 0 [phi:plots->plots::@1#0] -- zpby1=coby1 + //SEG28 [14] phi from plots to plots::@1 [phi:plots->plots::@1] + //SEG29 [14] phi (byte) plots::i#2 = (byte) 0 [phi:plots->plots::@1#0] -- zpby1=coby1 lda #0 sta i - //SEG32 [16] phi from plots::@3 to plots::@1 [phi:plots::@3->plots::@1] - //SEG33 [16] phi (byte) plots::i#2 = (byte) plots::i#1 [phi:plots::@3->plots::@1#0] -- register_copy - //SEG34 plots::@1 + //SEG30 [14] phi from plots::@3 to plots::@1 [phi:plots::@3->plots::@1] + //SEG31 [14] phi (byte) plots::i#2 = (byte) plots::i#1 [phi:plots::@3->plots::@1#0] -- register_copy + //SEG32 plots::@1 b1: - //SEG35 [17] (byte~) plots::$0 ← (const byte[]) plots_x#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 ] ( main:0::plots:10 [ plots::i#2 plots::$0 ] ) -- yby=cowo1_staridx_zpby1 + //SEG33 [15] (byte~) plots::$0 ← (const byte[]) plots_x#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 ] ( main:0::plots:9 [ plots::i#2 plots::$0 ] ) -- yby=cowo1_staridx_zpby1 ldx i lda plots_x,x tay - //SEG36 [18] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:0::plots:10 [ plots::i#2 plots::$0 plots::$1 ] ) -- aby=cowo1_staridx_zpby1 + //SEG34 [16] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:0::plots:9 [ plots::i#2 plots::$0 plots::$1 ] ) -- aby=cowo1_staridx_zpby1 ldx i lda plots_y,x - //SEG37 [19] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:0::plots:10 [ plots::i#2 plots::$1 plot::x#0 ] ) + //SEG35 [17] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:0::plots:9 [ plots::i#2 plots::$1 plot::x#0 ] ) // (byte) plot::x#0 = (byte~) plots::$0 // register copy reg byte y - //SEG38 [20] (byte) plot::y#0 ← (byte~) plots::$1 [ plots::i#2 plot::x#0 plot::y#0 ] ( main:0::plots:10 [ plots::i#2 plot::x#0 plot::y#0 ] ) -- xby=aby + //SEG36 [18] (byte) plot::y#0 ← (byte~) plots::$1 [ plots::i#2 plot::x#0 plot::y#0 ] ( main:0::plots:9 [ plots::i#2 plot::x#0 plot::y#0 ] ) -- xby=aby tax - //SEG39 [21] call plot param-assignment [ plots::i#2 ] ( main:0::plots:10 [ plots::i#2 ] ) + //SEG37 [19] call plot param-assignment [ plots::i#2 ] ( main:0::plots:9 [ plots::i#2 ] ) jsr plot - //SEG40 plots::@3 - //SEG41 [22] (byte) plots::i#1 ← ++ (byte) plots::i#2 [ plots::i#1 ] ( main:0::plots:10 [ plots::i#1 ] ) -- zpby1=_inc_zpby1 + //SEG38 plots::@3 + //SEG39 [20] (byte) plots::i#1 ← ++ (byte) plots::i#2 [ plots::i#1 ] ( main:0::plots:9 [ plots::i#1 ] ) -- zpby1=_inc_zpby1 inc i - //SEG42 [23] if((byte) plots::i#1<(const byte) plots_cnt#0) goto plots::@1 [ plots::i#1 ] ( main:0::plots:10 [ plots::i#1 ] ) -- zpby1_lt_coby1_then_la1 + //SEG40 [21] if((byte) plots::i#1<(const byte) plots_cnt#0) goto plots::@1 [ plots::i#1 ] ( main:0::plots:9 [ plots::i#1 ] ) -- zpby1_lt_coby1_then_la1 lda i cmp #plots_cnt bcc b1 - //SEG43 plots::@return - //SEG44 [24] return [ ] ( main:0::plots:10 [ ] ) + //SEG41 plots::@return + //SEG42 [22] return [ ] ( main:0::plots:9 [ ] ) rts } -//SEG45 plot +//SEG43 plot plot: { .label _5 = 7 .label plotter_x = 3 .label plotter_y = 5 .label plotter = 3 - //SEG46 [25] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::$0 ] ) -- aby=cowo1_staridx_yby + //SEG44 [23] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::$0 ] ) -- aby=cowo1_staridx_yby lda plot_xhi,y - //SEG47 [26] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#0 plot::y#0 plot::plotter_x#1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 ] ) -- zpptrby1=coby1_sethi_aby + //SEG45 [24] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#0 plot::y#0 plot::plotter_x#1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 ] ) -- zpptrby1=coby1_sethi_aby sta plotter_x+1 lda #<0 sta plotter_x - //SEG48 [27] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ) -- aby=cowo1_staridx_yby + //SEG46 [25] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ) -- aby=cowo1_staridx_yby lda plot_xlo,y - //SEG49 [28] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 ] ) -- zpptrby1=zpptrby1_setlo_aby + //SEG47 [26] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 ] ) -- zpptrby1=zpptrby1_setlo_aby sta plotter_x - //SEG50 [29] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#0 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ) -- aby=cowo1_staridx_xby + //SEG48 [27] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#0 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ) -- aby=cowo1_staridx_xby lda plot_yhi,x - //SEG51 [30] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ) -- zpptrby1=coby1_sethi_aby + //SEG49 [28] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ) -- zpptrby1=coby1_sethi_aby sta plotter_y+1 lda #<0 sta plotter_y - //SEG52 [31] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#0 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ) -- aby=cowo1_staridx_xby + //SEG50 [29] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#0 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ) -- aby=cowo1_staridx_xby lda plot_ylo,x - //SEG53 [32] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ) -- zpptrby1=zpptrby1_setlo_aby + //SEG51 [30] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ) -- zpptrby1=zpptrby1_setlo_aby sta plotter_y - //SEG54 [33] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter#0 ] ) -- zpptrby1=zpptrby1_plus_zpptrby2 + //SEG52 [31] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter#0 ] ) -- zpptrby1=zpptrby1_plus_zpptrby2 lda plotter clc adc plotter_y @@ -8248,95 +8130,95 @@ plot: { lda plotter+1 adc plotter_y+1 sta plotter+1 - //SEG55 [34] (byte~) plot::$5 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#0 plot::$5 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::plotter#0 plot::$5 ] ) -- zpby1=cowo1_staridx_yby + //SEG53 [32] (byte~) plot::$5 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#0 plot::$5 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::plotter#0 plot::$5 ] ) -- zpby1=cowo1_staridx_yby lda plot_bit,y sta _5 - //SEG56 [35] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::plotter#0 plot::$6 ] ) -- aby=_star_zpptrby1_bor_zpby1 + //SEG54 [33] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::plotter#0 plot::$6 ] ) -- aby=_star_zpptrby1_bor_zpby1 ldy #0 lda (plotter),y ora _5 - //SEG57 [36] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] ( main:0::plots:10::plot:21 [ plots::i#2 ] ) -- _star_zpptrby1=aby + //SEG55 [34] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] ( main:0::plots:9::plot:19 [ plots::i#2 ] ) -- _star_zpptrby1=aby sta (plotter),y - //SEG58 plot::@return - //SEG59 [37] return [ ] ( main:0::plots:10::plot:21 [ plots::i#2 ] ) + //SEG56 plot::@return + //SEG57 [35] return [ ] ( main:0::plots:9::plot:19 [ plots::i#2 ] ) rts } -//SEG60 init_plot_tables +//SEG58 init_plot_tables init_plot_tables: { .label _6 = 2 .label yoffs = 3 - //SEG61 [39] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] - //SEG62 [39] phi (byte) init_plot_tables::bits#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- yby=coby1 + //SEG59 [37] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] + //SEG60 [37] phi (byte) init_plot_tables::bits#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- yby=coby1 ldy #$80 - //SEG63 [39] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- xby=coby1 + //SEG61 [37] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- xby=coby1 ldx #0 - //SEG64 [39] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] - //SEG65 [39] phi (byte) init_plot_tables::bits#3 = (byte) init_plot_tables::bits#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy - //SEG66 [39] phi (byte) init_plot_tables::x#2 = (byte) init_plot_tables::x#1 [phi:init_plot_tables::@2->init_plot_tables::@1#1] -- register_copy - //SEG67 init_plot_tables::@1 + //SEG62 [37] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] + //SEG63 [37] phi (byte) init_plot_tables::bits#3 = (byte) init_plot_tables::bits#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy + //SEG64 [37] phi (byte) init_plot_tables::x#2 = (byte) init_plot_tables::x#1 [phi:init_plot_tables::@2->init_plot_tables::@1#1] -- register_copy + //SEG65 init_plot_tables::@1 b1: - //SEG68 [40] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ) -- aby=xby_band_coby1 + //SEG66 [38] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ) -- aby=xby_band_coby1 txa and #$f8 - //SEG69 [41] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=aby + //SEG67 [39] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=aby sta plot_xlo,x - //SEG70 [42] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=coby2 + //SEG68 [40] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=coby2 lda #>BITMAP sta plot_xhi,x - //SEG71 [43] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=yby + //SEG69 [41] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=yby tya sta plot_bit,x - //SEG72 [44] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ) -- yby=yby_ror_1 + //SEG70 [42] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ) -- yby=yby_ror_1 tya lsr tay - //SEG73 [45] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 ] ) -- yby_neq_0_then_la1 + //SEG71 [43] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 ] ) -- yby_neq_0_then_la1 cpy #0 bne b10 - //SEG74 [46] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] - //SEG75 [46] phi (byte) init_plot_tables::bits#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- yby=coby1 + //SEG72 [44] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] + //SEG73 [44] phi (byte) init_plot_tables::bits#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- yby=coby1 ldy #$80 - //SEG76 init_plot_tables::@2 + //SEG74 init_plot_tables::@2 b2: - //SEG77 [47] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- xby=_inc_xby + //SEG75 [45] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- xby=_inc_xby inx - //SEG78 [48] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- xby_neq_0_then_la1 + //SEG76 [46] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- xby_neq_0_then_la1 cpx #0 bne b1 - //SEG79 [49] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] - //SEG80 [49] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 + //SEG77 [47] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] + //SEG78 [47] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 lda #0 sta yoffs sta yoffs+1 - //SEG81 [49] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- xby=coby1 + //SEG79 [47] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- xby=coby1 ldx #0 - //SEG82 [49] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] - //SEG83 [49] phi (byte*) init_plot_tables::yoffs#2 = (byte*) init_plot_tables::yoffs#4 [phi:init_plot_tables::@4->init_plot_tables::@3#0] -- register_copy - //SEG84 [49] phi (byte) init_plot_tables::y#2 = (byte) init_plot_tables::y#1 [phi:init_plot_tables::@4->init_plot_tables::@3#1] -- register_copy - //SEG85 init_plot_tables::@3 + //SEG80 [47] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] + //SEG81 [47] phi (byte*) init_plot_tables::yoffs#2 = (byte*) init_plot_tables::yoffs#4 [phi:init_plot_tables::@4->init_plot_tables::@3#0] -- register_copy + //SEG82 [47] phi (byte) init_plot_tables::y#2 = (byte) init_plot_tables::y#1 [phi:init_plot_tables::@4->init_plot_tables::@3#1] -- register_copy + //SEG83 init_plot_tables::@3 b3: - //SEG86 [50] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) -- zpby1=xby_band_coby1 + //SEG84 [48] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) -- zpby1=xby_band_coby1 txa and #7 sta _6 - //SEG87 [51] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ) -- aby=_lo_zpptrby1 + //SEG85 [49] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ) -- aby=_lo_zpptrby1 lda yoffs - //SEG88 [52] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ) -- aby=zpby1_bor_aby + //SEG86 [50] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ) -- aby=zpby1_bor_aby ora _6 - //SEG89 [53] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_xby=aby + //SEG87 [51] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_xby=aby sta plot_ylo,x - //SEG90 [54] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ) -- aby=_hi_zpptrby1 + //SEG88 [52] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ) -- aby=_hi_zpptrby1 lda yoffs+1 - //SEG91 [55] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_xby=aby + //SEG89 [53] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_xby=aby sta plot_yhi,x - //SEG92 [56] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) -- aby=xby_band_coby1 + //SEG90 [54] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) -- aby=xby_band_coby1 txa and #7 - //SEG93 [57] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- aby_neq_coby1_then_la1 + //SEG91 [55] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- aby_neq_coby1_then_la1 cmp #7 bne b4 - //SEG94 init_plot_tables::@7 - //SEG95 [58] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) -- zpptrby1=zpptrby1_plus_cowo1 + //SEG92 init_plot_tables::@7 + //SEG93 [56] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) -- zpptrby1=zpptrby1_plus_cowo1 lda yoffs clc adc #<$140 @@ -8344,82 +8226,82 @@ init_plot_tables: { lda yoffs+1 adc #>$140 sta yoffs+1 - //SEG96 [59] phi from init_plot_tables::@3 init_plot_tables::@7 to init_plot_tables::@4 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4] - //SEG97 [59] phi (byte*) init_plot_tables::yoffs#4 = (byte*) init_plot_tables::yoffs#2 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4#0] -- register_copy - //SEG98 init_plot_tables::@4 + //SEG94 [57] phi from init_plot_tables::@3 init_plot_tables::@7 to init_plot_tables::@4 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4] + //SEG95 [57] phi (byte*) init_plot_tables::yoffs#4 = (byte*) init_plot_tables::yoffs#2 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4#0] -- register_copy + //SEG96 init_plot_tables::@4 b4: - //SEG99 [60] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- xby=_inc_xby + //SEG97 [58] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- xby=_inc_xby inx - //SEG100 [61] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- xby_neq_0_then_la1 + //SEG98 [59] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- xby_neq_0_then_la1 cpx #0 bne b3 - //SEG101 init_plot_tables::@return - //SEG102 [62] return [ ] ( main:0::init_plot_tables:6 [ ] ) + //SEG99 init_plot_tables::@return + //SEG100 [60] return [ ] ( main:0::init_plot_tables:6 [ ] ) rts - //SEG103 init_plot_tables::@10 + //SEG101 init_plot_tables::@10 b10: - //SEG104 [46] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] - //SEG105 [46] phi (byte) init_plot_tables::bits#4 = (byte) init_plot_tables::bits#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy + //SEG102 [44] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] + //SEG103 [44] phi (byte) init_plot_tables::bits#4 = (byte) init_plot_tables::bits#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy jmp b2 } -//SEG106 init_screen +//SEG104 init_screen init_screen: { .label b = 3 .label c = 3 - //SEG107 [64] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] - //SEG108 [64] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 + //SEG105 [62] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] + //SEG106 [62] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 lda #BITMAP sta b+1 - //SEG109 [64] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] - //SEG110 [64] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy - //SEG111 init_screen::@1 + //SEG107 [62] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] + //SEG108 [62] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy + //SEG109 init_screen::@1 b1: - //SEG112 [65] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) -- _star_zpptrby1=coby1 + //SEG110 [63] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) -- _star_zpptrby1=coby1 ldy #0 lda #0 sta (b),y - //SEG113 [66] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG111 [64] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1=_inc_zpptrby1 inc b bne !+ inc b+1 !: - //SEG114 [67] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1_neq_cowo1_then_la1 + //SEG112 [65] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1_neq_cowo1_then_la1 lda b+1 cmp #>BITMAP+$2000 bne b1 lda b cmp #init_screen::@2] - //SEG116 [68] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 + //SEG113 [66] phi from init_screen::@1 to init_screen::@2 [phi:init_screen::@1->init_screen::@2] + //SEG114 [66] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 lda #SCREEN sta c+1 - //SEG117 [68] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] - //SEG118 [68] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy - //SEG119 init_screen::@2 + //SEG115 [66] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] + //SEG116 [66] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy + //SEG117 init_screen::@2 b2: - //SEG120 [69] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) -- _star_zpptrby1=coby1 + //SEG118 [67] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) -- _star_zpptrby1=coby1 ldy #0 lda #$14 sta (c),y - //SEG121 [70] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG119 [68] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1=_inc_zpptrby1 inc c bne !+ inc c+1 !: - //SEG122 [71] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1_neq_cowo1_then_la1 + //SEG120 [69] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1_neq_cowo1_then_la1 lda c+1 cmp #>SCREEN+$400 bne b2 lda c cmp #init_screen] + //SEG12 [61] phi from main to init_screen [phi:main->init_screen] jsr init_screen //SEG13 main::@5 //SEG14 [6] call init_plot_tables param-assignment [ ] ( main:0 [ ] ) - //SEG15 [38] phi from main::@5 to init_plot_tables [phi:main::@5->init_plot_tables] + //SEG15 [36] phi from main::@5 to init_plot_tables [phi:main::@5->init_plot_tables] jsr init_plot_tables //SEG16 main::@2 b2: @@ -8637,90 +8515,82 @@ main: { cmp #$ff bne b2 //SEG18 main::@3 - //SEG19 [8] (byte~) main::$6 ← *((const byte*) BGCOL#0) + (byte) 1 [ main::$6 ] ( main:0 [ main::$6 ] ) -- aby=_star_cowo1_plus_1 - lda BGCOL - clc - adc #1 - //SEG20 [9] *((const byte*) BGCOL#0) ← (byte~) main::$6 [ ] ( main:0 [ ] ) -- _star_cowo1=aby - sta BGCOL - //SEG21 [10] call plots param-assignment [ ] ( main:0 [ ] ) - //SEG22 [15] phi from main::@3 to plots [phi:main::@3->plots] + //SEG19 [8] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) -- _star_cowo1=_inc__star_cowo1 + inc BGCOL + //SEG20 [9] call plots param-assignment [ ] ( main:0 [ ] ) + //SEG21 [13] phi from main::@3 to plots [phi:main::@3->plots] jsr plots - //SEG23 main::@7 - //SEG24 [11] (byte~) main::$8 ← *((const byte*) BGCOL#0) - (byte) 1 [ main::$8 ] ( main:0 [ main::$8 ] ) -- aby=_star_cowo1_minus_1 - lda BGCOL - sec - sbc #1 - //SEG25 [12] *((const byte*) BGCOL#0) ← (byte~) main::$8 [ ] ( main:0 [ ] ) -- _star_cowo1=aby - sta BGCOL - //SEG26 [13] if(true) goto main::@2 [ ] ( main:0 [ ] ) -- true_then_la1 + //SEG22 main::@7 + //SEG23 [10] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) -- _star_cowo1=_dec__star_cowo1 + dec BGCOL + //SEG24 [11] if(true) goto main::@2 [ ] ( main:0 [ ] ) -- true_then_la1 jmp b2 - //SEG27 main::@return - //SEG28 [14] return [ ] ( main:0 [ ] ) + //SEG25 main::@return + //SEG26 [12] return [ ] ( main:0 [ ] ) rts } -//SEG29 plots +//SEG27 plots plots: { .label i = 2 - //SEG30 [16] phi from plots to plots::@1 [phi:plots->plots::@1] - //SEG31 [16] phi (byte) plots::i#2 = (byte) 0 [phi:plots->plots::@1#0] -- zpby1=coby1 + //SEG28 [14] phi from plots to plots::@1 [phi:plots->plots::@1] + //SEG29 [14] phi (byte) plots::i#2 = (byte) 0 [phi:plots->plots::@1#0] -- zpby1=coby1 lda #0 sta i - //SEG32 [16] phi from plots::@3 to plots::@1 [phi:plots::@3->plots::@1] - //SEG33 [16] phi (byte) plots::i#2 = (byte) plots::i#1 [phi:plots::@3->plots::@1#0] -- register_copy - //SEG34 plots::@1 + //SEG30 [14] phi from plots::@3 to plots::@1 [phi:plots::@3->plots::@1] + //SEG31 [14] phi (byte) plots::i#2 = (byte) plots::i#1 [phi:plots::@3->plots::@1#0] -- register_copy + //SEG32 plots::@1 b1: - //SEG35 [17] (byte~) plots::$0 ← (const byte[]) plots_x#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 ] ( main:0::plots:10 [ plots::i#2 plots::$0 ] ) -- yby=cowo1_staridx_zpby1 + //SEG33 [15] (byte~) plots::$0 ← (const byte[]) plots_x#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 ] ( main:0::plots:9 [ plots::i#2 plots::$0 ] ) -- yby=cowo1_staridx_zpby1 ldx i lda plots_x,x tay - //SEG36 [18] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:0::plots:10 [ plots::i#2 plots::$0 plots::$1 ] ) -- aby=cowo1_staridx_zpby1 + //SEG34 [16] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:0::plots:9 [ plots::i#2 plots::$0 plots::$1 ] ) -- aby=cowo1_staridx_zpby1 ldx i lda plots_y,x - //SEG37 [19] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:0::plots:10 [ plots::i#2 plots::$1 plot::x#0 ] ) + //SEG35 [17] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:0::plots:9 [ plots::i#2 plots::$1 plot::x#0 ] ) // (byte) plot::x#0 = (byte~) plots::$0 // register copy reg byte y - //SEG38 [20] (byte) plot::y#0 ← (byte~) plots::$1 [ plots::i#2 plot::x#0 plot::y#0 ] ( main:0::plots:10 [ plots::i#2 plot::x#0 plot::y#0 ] ) -- xby=aby + //SEG36 [18] (byte) plot::y#0 ← (byte~) plots::$1 [ plots::i#2 plot::x#0 plot::y#0 ] ( main:0::plots:9 [ plots::i#2 plot::x#0 plot::y#0 ] ) -- xby=aby tax - //SEG39 [21] call plot param-assignment [ plots::i#2 ] ( main:0::plots:10 [ plots::i#2 ] ) + //SEG37 [19] call plot param-assignment [ plots::i#2 ] ( main:0::plots:9 [ plots::i#2 ] ) jsr plot - //SEG40 plots::@3 - //SEG41 [22] (byte) plots::i#1 ← ++ (byte) plots::i#2 [ plots::i#1 ] ( main:0::plots:10 [ plots::i#1 ] ) -- zpby1=_inc_zpby1 + //SEG38 plots::@3 + //SEG39 [20] (byte) plots::i#1 ← ++ (byte) plots::i#2 [ plots::i#1 ] ( main:0::plots:9 [ plots::i#1 ] ) -- zpby1=_inc_zpby1 inc i - //SEG42 [23] if((byte) plots::i#1<(const byte) plots_cnt#0) goto plots::@1 [ plots::i#1 ] ( main:0::plots:10 [ plots::i#1 ] ) -- zpby1_lt_coby1_then_la1 + //SEG40 [21] if((byte) plots::i#1<(const byte) plots_cnt#0) goto plots::@1 [ plots::i#1 ] ( main:0::plots:9 [ plots::i#1 ] ) -- zpby1_lt_coby1_then_la1 lda i cmp #plots_cnt bcc b1 - //SEG43 plots::@return - //SEG44 [24] return [ ] ( main:0::plots:10 [ ] ) + //SEG41 plots::@return + //SEG42 [22] return [ ] ( main:0::plots:9 [ ] ) rts } -//SEG45 plot +//SEG43 plot plot: { .label _5 = 7 .label plotter_x = 3 .label plotter_y = 5 .label plotter = 3 - //SEG46 [25] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::$0 ] ) -- aby=cowo1_staridx_yby + //SEG44 [23] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::$0 ] ) -- aby=cowo1_staridx_yby lda plot_xhi,y - //SEG47 [26] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#0 plot::y#0 plot::plotter_x#1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 ] ) -- zpptrby1=coby1_sethi_aby + //SEG45 [24] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#0 plot::y#0 plot::plotter_x#1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 ] ) -- zpptrby1=coby1_sethi_aby sta plotter_x+1 lda #<0 sta plotter_x - //SEG48 [27] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ) -- aby=cowo1_staridx_yby + //SEG46 [25] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ) -- aby=cowo1_staridx_yby lda plot_xlo,y - //SEG49 [28] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 ] ) -- zpptrby1=zpptrby1_setlo_aby + //SEG47 [26] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 ] ) -- zpptrby1=zpptrby1_setlo_aby sta plotter_x - //SEG50 [29] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#0 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ) -- aby=cowo1_staridx_xby + //SEG48 [27] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#0 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ) -- aby=cowo1_staridx_xby lda plot_yhi,x - //SEG51 [30] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ) -- zpptrby1=coby1_sethi_aby + //SEG49 [28] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ) -- zpptrby1=coby1_sethi_aby sta plotter_y+1 lda #<0 sta plotter_y - //SEG52 [31] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#0 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ) -- aby=cowo1_staridx_xby + //SEG50 [29] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#0 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ) -- aby=cowo1_staridx_xby lda plot_ylo,x - //SEG53 [32] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ) -- zpptrby1=zpptrby1_setlo_aby + //SEG51 [30] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ) -- zpptrby1=zpptrby1_setlo_aby sta plotter_y - //SEG54 [33] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter#0 ] ) -- zpptrby1=zpptrby1_plus_zpptrby2 + //SEG52 [31] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::x#0 plot::plotter#0 ] ) -- zpptrby1=zpptrby1_plus_zpptrby2 lda plotter clc adc plotter_y @@ -8728,95 +8598,95 @@ plot: { lda plotter+1 adc plotter_y+1 sta plotter+1 - //SEG55 [34] (byte~) plot::$5 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#0 plot::$5 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::plotter#0 plot::$5 ] ) -- zpby1=cowo1_staridx_yby + //SEG53 [32] (byte~) plot::$5 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#0 plot::$5 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::plotter#0 plot::$5 ] ) -- zpby1=cowo1_staridx_yby lda plot_bit,y sta _5 - //SEG56 [35] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::plotter#0 plot::$6 ] ) -- aby=_star_zpptrby1_bor_zpby1 + //SEG54 [33] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] ( main:0::plots:9::plot:19 [ plots::i#2 plot::plotter#0 plot::$6 ] ) -- aby=_star_zpptrby1_bor_zpby1 ldy #0 lda (plotter),y ora _5 - //SEG57 [36] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] ( main:0::plots:10::plot:21 [ plots::i#2 ] ) -- _star_zpptrby1=aby + //SEG55 [34] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] ( main:0::plots:9::plot:19 [ plots::i#2 ] ) -- _star_zpptrby1=aby sta (plotter),y - //SEG58 plot::@return - //SEG59 [37] return [ ] ( main:0::plots:10::plot:21 [ plots::i#2 ] ) + //SEG56 plot::@return + //SEG57 [35] return [ ] ( main:0::plots:9::plot:19 [ plots::i#2 ] ) rts } -//SEG60 init_plot_tables +//SEG58 init_plot_tables init_plot_tables: { .label _6 = 2 .label yoffs = 3 - //SEG61 [39] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] - //SEG62 [39] phi (byte) init_plot_tables::bits#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- yby=coby1 + //SEG59 [37] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] + //SEG60 [37] phi (byte) init_plot_tables::bits#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- yby=coby1 ldy #$80 - //SEG63 [39] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- xby=coby1 + //SEG61 [37] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- xby=coby1 ldx #0 - //SEG64 [39] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] - //SEG65 [39] phi (byte) init_plot_tables::bits#3 = (byte) init_plot_tables::bits#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy - //SEG66 [39] phi (byte) init_plot_tables::x#2 = (byte) init_plot_tables::x#1 [phi:init_plot_tables::@2->init_plot_tables::@1#1] -- register_copy - //SEG67 init_plot_tables::@1 + //SEG62 [37] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] + //SEG63 [37] phi (byte) init_plot_tables::bits#3 = (byte) init_plot_tables::bits#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy + //SEG64 [37] phi (byte) init_plot_tables::x#2 = (byte) init_plot_tables::x#1 [phi:init_plot_tables::@2->init_plot_tables::@1#1] -- register_copy + //SEG65 init_plot_tables::@1 b1: - //SEG68 [40] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ) -- aby=xby_band_coby1 + //SEG66 [38] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ) -- aby=xby_band_coby1 txa and #$f8 - //SEG69 [41] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=aby + //SEG67 [39] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=aby sta plot_xlo,x - //SEG70 [42] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=coby2 + //SEG68 [40] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=coby2 lda #>BITMAP sta plot_xhi,x - //SEG71 [43] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=yby + //SEG69 [41] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- cowo1_staridx_xby=yby tya sta plot_bit,x - //SEG72 [44] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ) -- yby=yby_ror_1 + //SEG70 [42] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ) -- yby=yby_ror_1 tya lsr tay - //SEG73 [45] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 ] ) -- yby_neq_0_then_la1 + //SEG71 [43] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 ] ) -- yby_neq_0_then_la1 cpy #0 bne b10 - //SEG74 [46] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] - //SEG75 [46] phi (byte) init_plot_tables::bits#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- yby=coby1 + //SEG72 [44] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] + //SEG73 [44] phi (byte) init_plot_tables::bits#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- yby=coby1 ldy #$80 - //SEG76 init_plot_tables::@2 + //SEG74 init_plot_tables::@2 b2: - //SEG77 [47] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- xby=_inc_xby + //SEG75 [45] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- xby=_inc_xby inx - //SEG78 [48] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- xby_neq_0_then_la1 + //SEG76 [46] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- xby_neq_0_then_la1 cpx #0 bne b1 - //SEG79 [49] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] - //SEG80 [49] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 + //SEG77 [47] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] + //SEG78 [47] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 lda #0 sta yoffs sta yoffs+1 - //SEG81 [49] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- xby=coby1 + //SEG79 [47] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- xby=coby1 ldx #0 - //SEG82 [49] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] - //SEG83 [49] phi (byte*) init_plot_tables::yoffs#2 = (byte*) init_plot_tables::yoffs#4 [phi:init_plot_tables::@4->init_plot_tables::@3#0] -- register_copy - //SEG84 [49] phi (byte) init_plot_tables::y#2 = (byte) init_plot_tables::y#1 [phi:init_plot_tables::@4->init_plot_tables::@3#1] -- register_copy - //SEG85 init_plot_tables::@3 + //SEG80 [47] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] + //SEG81 [47] phi (byte*) init_plot_tables::yoffs#2 = (byte*) init_plot_tables::yoffs#4 [phi:init_plot_tables::@4->init_plot_tables::@3#0] -- register_copy + //SEG82 [47] phi (byte) init_plot_tables::y#2 = (byte) init_plot_tables::y#1 [phi:init_plot_tables::@4->init_plot_tables::@3#1] -- register_copy + //SEG83 init_plot_tables::@3 b3: - //SEG86 [50] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) -- zpby1=xby_band_coby1 + //SEG84 [48] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) -- zpby1=xby_band_coby1 txa and #7 sta _6 - //SEG87 [51] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ) -- aby=_lo_zpptrby1 + //SEG85 [49] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ) -- aby=_lo_zpptrby1 lda yoffs - //SEG88 [52] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ) -- aby=zpby1_bor_aby + //SEG86 [50] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ) -- aby=zpby1_bor_aby ora _6 - //SEG89 [53] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_xby=aby + //SEG87 [51] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_xby=aby sta plot_ylo,x - //SEG90 [54] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ) -- aby=_hi_zpptrby1 + //SEG88 [52] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ) -- aby=_hi_zpptrby1 lda yoffs+1 - //SEG91 [55] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_xby=aby + //SEG89 [53] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- cowo1_staridx_xby=aby sta plot_yhi,x - //SEG92 [56] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) -- aby=xby_band_coby1 + //SEG90 [54] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) -- aby=xby_band_coby1 txa and #7 - //SEG93 [57] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- aby_neq_coby1_then_la1 + //SEG91 [55] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- aby_neq_coby1_then_la1 cmp #7 bne b4 - //SEG94 init_plot_tables::@7 - //SEG95 [58] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) -- zpptrby1=zpptrby1_plus_cowo1 + //SEG92 init_plot_tables::@7 + //SEG93 [56] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) -- zpptrby1=zpptrby1_plus_cowo1 lda yoffs clc adc #<$140 @@ -8824,82 +8694,82 @@ init_plot_tables: { lda yoffs+1 adc #>$140 sta yoffs+1 - //SEG96 [59] phi from init_plot_tables::@3 init_plot_tables::@7 to init_plot_tables::@4 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4] - //SEG97 [59] phi (byte*) init_plot_tables::yoffs#4 = (byte*) init_plot_tables::yoffs#2 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4#0] -- register_copy - //SEG98 init_plot_tables::@4 + //SEG94 [57] phi from init_plot_tables::@3 init_plot_tables::@7 to init_plot_tables::@4 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4] + //SEG95 [57] phi (byte*) init_plot_tables::yoffs#4 = (byte*) init_plot_tables::yoffs#2 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4#0] -- register_copy + //SEG96 init_plot_tables::@4 b4: - //SEG99 [60] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- xby=_inc_xby + //SEG97 [58] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- xby=_inc_xby inx - //SEG100 [61] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- xby_neq_0_then_la1 + //SEG98 [59] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- xby_neq_0_then_la1 cpx #0 bne b3 - //SEG101 init_plot_tables::@return - //SEG102 [62] return [ ] ( main:0::init_plot_tables:6 [ ] ) + //SEG99 init_plot_tables::@return + //SEG100 [60] return [ ] ( main:0::init_plot_tables:6 [ ] ) rts - //SEG103 init_plot_tables::@10 + //SEG101 init_plot_tables::@10 b10: - //SEG104 [46] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] - //SEG105 [46] phi (byte) init_plot_tables::bits#4 = (byte) init_plot_tables::bits#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy + //SEG102 [44] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] + //SEG103 [44] phi (byte) init_plot_tables::bits#4 = (byte) init_plot_tables::bits#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy jmp b2 } -//SEG106 init_screen +//SEG104 init_screen init_screen: { .label b = 3 .label c = 3 - //SEG107 [64] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] - //SEG108 [64] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 + //SEG105 [62] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] + //SEG106 [62] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 lda #BITMAP sta b+1 - //SEG109 [64] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] - //SEG110 [64] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy - //SEG111 init_screen::@1 + //SEG107 [62] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] + //SEG108 [62] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy + //SEG109 init_screen::@1 b1: - //SEG112 [65] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) -- _star_zpptrby1=coby1 + //SEG110 [63] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] ) -- _star_zpptrby1=coby1 ldy #0 lda #0 sta (b),y - //SEG113 [66] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG111 [64] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1=_inc_zpptrby1 inc b bne !+ inc b+1 !: - //SEG114 [67] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1_neq_cowo1_then_la1 + //SEG112 [65] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] ) -- zpptrby1_neq_cowo1_then_la1 lda b+1 cmp #>BITMAP+$2000 bne b1 lda b cmp #init_screen::@2] - //SEG116 [68] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 + //SEG113 [66] phi from init_screen::@1 to init_screen::@2 [phi:init_screen::@1->init_screen::@2] + //SEG114 [66] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 lda #SCREEN sta c+1 - //SEG117 [68] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] - //SEG118 [68] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy - //SEG119 init_screen::@2 + //SEG115 [66] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] + //SEG116 [66] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy + //SEG117 init_screen::@2 b2: - //SEG120 [69] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) -- _star_zpptrby1=coby1 + //SEG118 [67] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] ) -- _star_zpptrby1=coby1 ldy #0 lda #$14 sta (c),y - //SEG121 [70] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG119 [68] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1=_inc_zpptrby1 inc c bne !+ inc c+1 !: - //SEG122 [71] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1_neq_cowo1_then_la1 + //SEG120 [69] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] ) -- zpptrby1_neq_cowo1_then_la1 lda c+1 cmp #>SCREEN+$400 bne b2 lda c cmp #fillscreen] + //SEG9 [25] phi from main to fillscreen [phi:main->fillscreen] fillscreen_from_main: jsr fillscreen //SEG10 [3] phi from main to main::@2 [phi:main->main::@2] @@ -3519,148 +3447,136 @@ main: { jmp b8 //SEG21 main::@8 b8: - //SEG22 [6] (byte~) main::$4 ← *((const byte*) BGCOL#0) + (byte) 1 [ main::scroll#7 main::nxt#9 main::$4 ] ( main:0 [ main::scroll#7 main::nxt#9 main::$4 ] ) -- zpby1=_star_cowo1_plus_1 - lda BGCOL - clc - adc #1 - sta _4 - //SEG23 [7] *((const byte*) BGCOL#0) ← (byte~) main::$4 [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] ) -- _star_cowo1=zpby1 - lda _4 - sta BGCOL - //SEG24 [8] (byte) main::scroll#1 ← -- (byte) main::scroll#7 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- zpby1=_dec_zpby1 + //SEG22 [6] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] ) -- _star_cowo1=_inc__star_cowo1 + inc BGCOL + //SEG23 [7] (byte) main::scroll#1 ← -- (byte) main::scroll#7 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- zpby1=_dec_zpby1 dec scroll - //SEG25 [9] if((byte) main::scroll#1!=(byte) 255) goto main::@4 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- zpby1_neq_coby1_then_la1 + //SEG24 [8] if((byte) main::scroll#1!=(byte) 255) goto main::@4 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- zpby1_neq_coby1_then_la1 lda scroll cmp #$ff bne b4_from_b8 - //SEG26 [10] phi from main::@8 to main::@5 [phi:main::@8->main::@5] + //SEG25 [9] phi from main::@8 to main::@5 [phi:main::@8->main::@5] b5_from_b8: - //SEG27 [10] phi (byte) main::i#2 = (byte) 0 [phi:main::@8->main::@5#0] -- zpby1=coby1 + //SEG26 [9] phi (byte) main::i#2 = (byte) 0 [phi:main::@8->main::@5#0] -- zpby1=coby1 lda #0 sta i jmp b5 - //SEG28 [10] phi from main::@5 to main::@5 [phi:main::@5->main::@5] + //SEG27 [9] phi from main::@5 to main::@5 [phi:main::@5->main::@5] b5_from_b5: - //SEG29 [10] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@5->main::@5#0] -- register_copy + //SEG28 [9] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@5->main::@5#0] -- register_copy jmp b5 - //SEG30 main::@5 + //SEG29 main::@5 b5: - //SEG31 [11] (byte~) main::$8 ← (const byte[]) main::line#0+(byte) 1 *idx (byte) main::i#2 [ main::nxt#9 main::i#2 main::$8 ] ( main:0 [ main::nxt#9 main::i#2 main::$8 ] ) -- zpby1=cowo1_staridx_zpby2 + //SEG30 [10] (byte~) main::$7 ← (const byte[]) main::line#0+(byte) 1 *idx (byte) main::i#2 [ main::nxt#9 main::i#2 main::$7 ] ( main:0 [ main::nxt#9 main::i#2 main::$7 ] ) -- zpby1=cowo1_staridx_zpby2 ldx i lda line+1,x - sta _8 - //SEG32 [12] *((const byte[]) main::line#0 + (byte) main::i#2) ← (byte~) main::$8 [ main::nxt#9 main::i#2 ] ( main:0 [ main::nxt#9 main::i#2 ] ) -- cowo1_staridx_zpby1=zpby2 - lda _8 + sta _7 + //SEG31 [11] *((const byte[]) main::line#0 + (byte) main::i#2) ← (byte~) main::$7 [ main::nxt#9 main::i#2 ] ( main:0 [ main::nxt#9 main::i#2 ] ) -- cowo1_staridx_zpby1=zpby2 + lda _7 ldx i sta line,x - //SEG33 [13] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- zpby1=_inc_zpby1 + //SEG32 [12] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- zpby1=_inc_zpby1 inc i - //SEG34 [14] if((byte) main::i#1!=(byte) 39) goto main::@5 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- zpby1_neq_coby1_then_la1 + //SEG33 [13] if((byte) main::i#1!=(byte) 39) goto main::@5 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- zpby1_neq_coby1_then_la1 lda i cmp #$27 bne b5_from_b5 jmp b10 - //SEG35 main::@10 + //SEG34 main::@10 b10: - //SEG36 [15] (byte) main::c#0 ← *((byte*) main::nxt#9) [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- zpby1=_star_zpptrby1 + //SEG35 [14] (byte) main::c#0 ← *((byte*) main::nxt#9) [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- zpby1=_star_zpptrby1 ldy #0 lda (nxt),y sta c - //SEG37 [16] if((byte) main::c#0!=(byte) '@') goto main::@6 [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- zpby1_neq_coby1_then_la1 + //SEG36 [15] if((byte) main::c#0!=(byte) '@') goto main::@6 [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- zpby1_neq_coby1_then_la1 lda c cmp #'@' bne b6_from_b10 jmp b11 - //SEG38 main::@11 + //SEG37 main::@11 b11: - //SEG39 [17] (byte) main::c#1 ← *((const byte*) TEXT#0) [ main::c#1 ] ( main:0 [ main::c#1 ] ) -- zpby1=_star_cowo1 + //SEG38 [16] (byte) main::c#1 ← *((const byte*) TEXT#0) [ main::c#1 ] ( main:0 [ main::c#1 ] ) -- zpby1=_star_cowo1 lda TEXT sta c - //SEG40 [18] phi from main::@11 to main::@6 [phi:main::@11->main::@6] + //SEG39 [17] phi from main::@11 to main::@6 [phi:main::@11->main::@6] b6_from_b11: - //SEG41 [18] phi (byte*) main::nxt#4 = (const byte*) TEXT#0 [phi:main::@11->main::@6#0] -- zpptrby1=cowo1 + //SEG40 [17] phi (byte*) main::nxt#4 = (const byte*) TEXT#0 [phi:main::@11->main::@6#0] -- zpptrby1=cowo1 lda #TEXT sta nxt+1 - //SEG42 [18] phi (byte) main::c#2 = (byte) main::c#1 [phi:main::@11->main::@6#1] -- register_copy + //SEG41 [17] phi (byte) main::c#2 = (byte) main::c#1 [phi:main::@11->main::@6#1] -- register_copy jmp b6 - //SEG43 [18] phi from main::@10 to main::@6 [phi:main::@10->main::@6] + //SEG42 [17] phi from main::@10 to main::@6 [phi:main::@10->main::@6] b6_from_b10: - //SEG44 [18] phi (byte*) main::nxt#4 = (byte*) main::nxt#9 [phi:main::@10->main::@6#0] -- register_copy - //SEG45 [18] phi (byte) main::c#2 = (byte) main::c#0 [phi:main::@10->main::@6#1] -- register_copy + //SEG43 [17] phi (byte*) main::nxt#4 = (byte*) main::nxt#9 [phi:main::@10->main::@6#0] -- register_copy + //SEG44 [17] phi (byte) main::c#2 = (byte) main::c#0 [phi:main::@10->main::@6#1] -- register_copy jmp b6 - //SEG46 main::@6 + //SEG45 main::@6 b6: - //SEG47 [19] *((const byte[]) main::line#0+(byte) 39) ← (byte) main::c#2 [ main::nxt#4 ] ( main:0 [ main::nxt#4 ] ) -- _star_cowo1=zpby1 + //SEG46 [18] *((const byte[]) main::line#0+(byte) 39) ← (byte) main::c#2 [ main::nxt#4 ] ( main:0 [ main::nxt#4 ] ) -- _star_cowo1=zpby1 lda c sta line+$27 - //SEG48 [20] (byte*) main::nxt#1 ← ++ (byte*) main::nxt#4 [ main::nxt#1 ] ( main:0 [ main::nxt#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG47 [19] (byte*) main::nxt#1 ← ++ (byte*) main::nxt#4 [ main::nxt#1 ] ( main:0 [ main::nxt#1 ] ) -- zpptrby1=_inc_zpptrby1 inc nxt bne !+ inc nxt+1 !: - //SEG49 [21] phi from main::@6 to main::@4 [phi:main::@6->main::@4] + //SEG48 [20] phi from main::@6 to main::@4 [phi:main::@6->main::@4] b4_from_b6: - //SEG50 [21] phi (byte*) main::nxt#10 = (byte*) main::nxt#1 [phi:main::@6->main::@4#0] -- register_copy - //SEG51 [21] phi (byte) main::scroll#10 = (byte) 7 [phi:main::@6->main::@4#1] -- zpby1=coby1 + //SEG49 [20] phi (byte*) main::nxt#10 = (byte*) main::nxt#1 [phi:main::@6->main::@4#0] -- register_copy + //SEG50 [20] phi (byte) main::scroll#10 = (byte) 7 [phi:main::@6->main::@4#1] -- zpby1=coby1 lda #7 sta scroll jmp b4 - //SEG52 [21] phi from main::@8 to main::@4 [phi:main::@8->main::@4] + //SEG51 [20] phi from main::@8 to main::@4 [phi:main::@8->main::@4] b4_from_b8: - //SEG53 [21] phi (byte*) main::nxt#10 = (byte*) main::nxt#9 [phi:main::@8->main::@4#0] -- register_copy - //SEG54 [21] phi (byte) main::scroll#10 = (byte) main::scroll#1 [phi:main::@8->main::@4#1] -- register_copy + //SEG52 [20] phi (byte*) main::nxt#10 = (byte*) main::nxt#9 [phi:main::@8->main::@4#0] -- register_copy + //SEG53 [20] phi (byte) main::scroll#10 = (byte) main::scroll#1 [phi:main::@8->main::@4#1] -- register_copy jmp b4 - //SEG55 main::@4 + //SEG54 main::@4 b4: - //SEG56 [22] *((const byte*) SCROLL#0) ← (byte) main::scroll#10 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=zpby1 + //SEG55 [21] *((const byte*) SCROLL#0) ← (byte) main::scroll#10 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=zpby1 lda scroll sta SCROLL - //SEG57 [23] (byte~) main::$12 ← *((const byte*) BGCOL#0) - (byte) 1 [ main::scroll#10 main::nxt#10 main::$12 ] ( main:0 [ main::scroll#10 main::nxt#10 main::$12 ] ) -- zpby1=_star_cowo1_minus_1 - lda BGCOL - sec - sbc #1 - sta _12 - //SEG58 [24] *((const byte*) BGCOL#0) ← (byte~) main::$12 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=zpby1 - lda _12 - sta BGCOL - //SEG59 [25] if(true) goto main::@2 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- true_then_la1 + //SEG56 [22] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=_dec__star_cowo1 + dec BGCOL + //SEG57 [23] if(true) goto main::@2 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- true_then_la1 jmp b2_from_b4 jmp breturn - //SEG60 main::@return + //SEG58 main::@return breturn: - //SEG61 [26] return [ ] ( main:0 [ ] ) + //SEG59 [24] return [ ] ( main:0 [ ] ) rts } -//SEG62 fillscreen +//SEG60 fillscreen fillscreen: { .const fill = $20 .label cursor = 7 - //SEG63 [28] phi from fillscreen to fillscreen::@1 [phi:fillscreen->fillscreen::@1] + //SEG61 [26] phi from fillscreen to fillscreen::@1 [phi:fillscreen->fillscreen::@1] b1_from_fillscreen: - //SEG64 [28] phi (byte*) fillscreen::cursor#2 = (const byte*) SCREEN#0 [phi:fillscreen->fillscreen::@1#0] -- zpptrby1=cowo1 + //SEG62 [26] phi (byte*) fillscreen::cursor#2 = (const byte*) SCREEN#0 [phi:fillscreen->fillscreen::@1#0] -- zpptrby1=cowo1 lda #SCREEN sta cursor+1 jmp b1 - //SEG65 [28] phi from fillscreen::@1 to fillscreen::@1 [phi:fillscreen::@1->fillscreen::@1] + //SEG63 [26] phi from fillscreen::@1 to fillscreen::@1 [phi:fillscreen::@1->fillscreen::@1] b1_from_b1: - //SEG66 [28] phi (byte*) fillscreen::cursor#2 = (byte*) fillscreen::cursor#1 [phi:fillscreen::@1->fillscreen::@1#0] -- register_copy + //SEG64 [26] phi (byte*) fillscreen::cursor#2 = (byte*) fillscreen::cursor#1 [phi:fillscreen::@1->fillscreen::@1#0] -- register_copy jmp b1 - //SEG67 fillscreen::@1 + //SEG65 fillscreen::@1 b1: - //SEG68 [29] *((byte*) fillscreen::cursor#2) ← (const byte) fillscreen::fill#0 [ fillscreen::cursor#2 ] ( main:0::fillscreen:2 [ fillscreen::cursor#2 ] ) -- _star_zpptrby1=coby1 + //SEG66 [27] *((byte*) fillscreen::cursor#2) ← (const byte) fillscreen::fill#0 [ fillscreen::cursor#2 ] ( main:0::fillscreen:2 [ fillscreen::cursor#2 ] ) -- _star_zpptrby1=coby1 ldy #0 lda #fill sta (cursor),y - //SEG69 [30] (byte*) fillscreen::cursor#1 ← ++ (byte*) fillscreen::cursor#2 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG67 [28] (byte*) fillscreen::cursor#1 ← ++ (byte*) fillscreen::cursor#2 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1=_inc_zpptrby1 inc cursor bne !+ inc cursor+1 !: - //SEG70 [31] if((byte*) fillscreen::cursor#1<(const byte*) SCREEN#0+(word) 1000) goto fillscreen::@1 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1_lt_cowo1_then_la1 + //SEG68 [29] if((byte*) fillscreen::cursor#1<(const byte*) SCREEN#0+(word) 1000) goto fillscreen::@1 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1_lt_cowo1_then_la1 lda cursor+1 cmp #>SCREEN+$3e8 bcc b1_from_b1 @@ -3670,9 +3586,9 @@ fillscreen: { bcc b1_from_b1 !: jmp breturn - //SEG71 fillscreen::@return + //SEG69 fillscreen::@return breturn: - //SEG72 [32] return [ ] ( main:0::fillscreen:2 [ ] ) + //SEG70 [30] return [ ] ( main:0::fillscreen:2 [ ] ) rts } @@ -3680,35 +3596,29 @@ REGISTER UPLIFT POTENTIAL REGISTERS Statement [4] if(*((const byte*) RASTER#0)!=(byte) 254) goto main::@2 [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:2 [ main::scroll#7 main::scroll#10 main::scroll#1 ] Statement [5] if(*((const byte*) RASTER#0)!=(byte) 255) goto main::@3 [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] ) always clobbers reg byte a -Statement [6] (byte~) main::$4 ← *((const byte*) BGCOL#0) + (byte) 1 [ main::scroll#7 main::nxt#9 main::$4 ] ( main:0 [ main::scroll#7 main::nxt#9 main::$4 ] ) always clobbers reg byte a -Statement [15] (byte) main::c#0 ← *((byte*) main::nxt#9) [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) always clobbers reg byte a reg byte y -Statement [23] (byte~) main::$12 ← *((const byte*) BGCOL#0) - (byte) 1 [ main::scroll#10 main::nxt#10 main::$12 ] ( main:0 [ main::scroll#10 main::nxt#10 main::$12 ] ) always clobbers reg byte a -Statement [29] *((byte*) fillscreen::cursor#2) ← (const byte) fillscreen::fill#0 [ fillscreen::cursor#2 ] ( main:0::fillscreen:2 [ fillscreen::cursor#2 ] ) always clobbers reg byte a reg byte y -Statement [31] if((byte*) fillscreen::cursor#1<(const byte*) SCREEN#0+(word) 1000) goto fillscreen::@1 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) always clobbers reg byte a +Statement [14] (byte) main::c#0 ← *((byte*) main::nxt#9) [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) always clobbers reg byte a reg byte y +Statement [27] *((byte*) fillscreen::cursor#2) ← (const byte) fillscreen::fill#0 [ fillscreen::cursor#2 ] ( main:0::fillscreen:2 [ fillscreen::cursor#2 ] ) always clobbers reg byte a reg byte y +Statement [29] if((byte*) fillscreen::cursor#1<(const byte*) SCREEN#0+(word) 1000) goto fillscreen::@1 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) always clobbers reg byte a Statement [4] if(*((const byte*) RASTER#0)!=(byte) 254) goto main::@2 [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] ) always clobbers reg byte a Statement [5] if(*((const byte*) RASTER#0)!=(byte) 255) goto main::@3 [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] ) always clobbers reg byte a -Statement [6] (byte~) main::$4 ← *((const byte*) BGCOL#0) + (byte) 1 [ main::scroll#7 main::nxt#9 main::$4 ] ( main:0 [ main::scroll#7 main::nxt#9 main::$4 ] ) always clobbers reg byte a -Statement [15] (byte) main::c#0 ← *((byte*) main::nxt#9) [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) always clobbers reg byte a reg byte y -Statement [23] (byte~) main::$12 ← *((const byte*) BGCOL#0) - (byte) 1 [ main::scroll#10 main::nxt#10 main::$12 ] ( main:0 [ main::scroll#10 main::nxt#10 main::$12 ] ) always clobbers reg byte a -Statement [29] *((byte*) fillscreen::cursor#2) ← (const byte) fillscreen::fill#0 [ fillscreen::cursor#2 ] ( main:0::fillscreen:2 [ fillscreen::cursor#2 ] ) always clobbers reg byte a reg byte y -Statement [31] if((byte*) fillscreen::cursor#1<(const byte*) SCREEN#0+(word) 1000) goto fillscreen::@1 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) always clobbers reg byte a +Statement [14] (byte) main::c#0 ← *((byte*) main::nxt#9) [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) always clobbers reg byte a reg byte y +Statement [27] *((byte*) fillscreen::cursor#2) ← (const byte) fillscreen::fill#0 [ fillscreen::cursor#2 ] ( main:0::fillscreen:2 [ fillscreen::cursor#2 ] ) always clobbers reg byte a reg byte y +Statement [29] if((byte*) fillscreen::cursor#1<(const byte*) SCREEN#0+(word) 1000) goto fillscreen::@1 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) always clobbers reg byte a Potential registers zp ZP_BYTE:2 [ main::scroll#7 main::scroll#10 main::scroll#1 ] : zp ZP_BYTE:2 , reg byte x , reg byte y , Potential registers zp ZP_BYTE:3 [ main::i#2 main::i#1 ] : zp ZP_BYTE:3 , reg byte a , reg byte x , reg byte y , Potential registers zp ZP_BYTE:4 [ main::c#2 main::c#0 main::c#1 ] : zp ZP_BYTE:4 , reg byte a , reg byte x , reg byte y , Potential registers zp ZP_PTR_BYTE:5 [ main::nxt#4 main::nxt#9 main::nxt#10 main::nxt#1 ] : zp ZP_PTR_BYTE:5 , Potential registers zp ZP_PTR_BYTE:7 [ fillscreen::cursor#2 fillscreen::cursor#1 ] : zp ZP_PTR_BYTE:7 , -Potential registers zp ZP_BYTE:9 [ main::$4 ] : zp ZP_BYTE:9 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:10 [ main::$8 ] : zp ZP_BYTE:10 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:11 [ main::$12 ] : zp ZP_BYTE:11 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:9 [ main::$7 ] : zp ZP_BYTE:9 , reg byte a , reg byte x , reg byte y , REGISTER UPLIFT SCOPES -Uplift Scope [main] 286.17: zp ZP_BYTE:3 [ main::i#2 main::i#1 ] 202: zp ZP_BYTE:10 [ main::$8 ] 71.5: zp ZP_BYTE:4 [ main::c#2 main::c#0 main::c#1 ] 41.96: zp ZP_PTR_BYTE:5 [ main::nxt#4 main::nxt#9 main::nxt#10 main::nxt#1 ] 27.5: zp ZP_BYTE:2 [ main::scroll#7 main::scroll#10 main::scroll#1 ] 22: zp ZP_BYTE:9 [ main::$4 ] 22: zp ZP_BYTE:11 [ main::$12 ] +Uplift Scope [main] 286.17: zp ZP_BYTE:3 [ main::i#2 main::i#1 ] 202: zp ZP_BYTE:9 [ main::$7 ] 71.5: zp ZP_BYTE:4 [ main::c#2 main::c#0 main::c#1 ] 43.79: zp ZP_PTR_BYTE:5 [ main::nxt#4 main::nxt#9 main::nxt#10 main::nxt#1 ] 30.25: zp ZP_BYTE:2 [ main::scroll#7 main::scroll#10 main::scroll#1 ] Uplift Scope [fillscreen] 33: zp ZP_PTR_BYTE:7 [ fillscreen::cursor#2 fillscreen::cursor#1 ] Uplift Scope [] -Uplifting [main] best 8767 combination reg byte x [ main::i#2 main::i#1 ] reg byte a [ main::$8 ] reg byte x [ main::c#2 main::c#0 main::c#1 ] zp ZP_PTR_BYTE:5 [ main::nxt#4 main::nxt#9 main::nxt#10 main::nxt#1 ] reg byte x [ main::scroll#7 main::scroll#10 main::scroll#1 ] reg byte a [ main::$4 ] reg byte a [ main::$12 ] -Uplifting [fillscreen] best 8767 combination zp ZP_PTR_BYTE:7 [ fillscreen::cursor#2 fillscreen::cursor#1 ] -Uplifting [] best 8767 combination +Uplifting [main] best 8647 combination reg byte x [ main::i#2 main::i#1 ] reg byte a [ main::$7 ] reg byte x [ main::c#2 main::c#0 main::c#1 ] zp ZP_PTR_BYTE:5 [ main::nxt#4 main::nxt#9 main::nxt#10 main::nxt#1 ] reg byte x [ main::scroll#7 main::scroll#10 main::scroll#1 ] +Uplifting [fillscreen] best 8647 combination zp ZP_PTR_BYTE:7 [ fillscreen::cursor#2 fillscreen::cursor#1 ] +Uplifting [] best 8647 combination Coalescing zero page register [ zp ZP_PTR_BYTE:5 [ main::nxt#4 main::nxt#9 main::nxt#10 main::nxt#1 ] ] with [ zp ZP_PTR_BYTE:7 [ fillscreen::cursor#2 fillscreen::cursor#1 ] ] Allocated (was zp ZP_PTR_BYTE:5) zp ZP_PTR_BYTE:2 [ main::nxt#4 main::nxt#9 main::nxt#10 main::nxt#1 fillscreen::cursor#2 fillscreen::cursor#1 ] Removing instruction jmp b2 @@ -3751,7 +3661,7 @@ main: { .const line = SCREEN+$28 .label nxt = 2 //SEG8 [2] call fillscreen param-assignment [ ] ( main:0 [ ] ) - //SEG9 [27] phi from main to fillscreen [phi:main->fillscreen] + //SEG9 [25] phi from main to fillscreen [phi:main->fillscreen] fillscreen_from_main: jsr fillscreen //SEG10 [3] phi from main to main::@2 [phi:main->main::@2] @@ -3785,125 +3695,117 @@ main: { bne b3 //SEG21 main::@8 b8: - //SEG22 [6] (byte~) main::$4 ← *((const byte*) BGCOL#0) + (byte) 1 [ main::scroll#7 main::nxt#9 main::$4 ] ( main:0 [ main::scroll#7 main::nxt#9 main::$4 ] ) -- aby=_star_cowo1_plus_1 - lda BGCOL - clc - adc #1 - //SEG23 [7] *((const byte*) BGCOL#0) ← (byte~) main::$4 [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] ) -- _star_cowo1=aby - sta BGCOL - //SEG24 [8] (byte) main::scroll#1 ← -- (byte) main::scroll#7 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby=_dec_xby + //SEG22 [6] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] ) -- _star_cowo1=_inc__star_cowo1 + inc BGCOL + //SEG23 [7] (byte) main::scroll#1 ← -- (byte) main::scroll#7 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby=_dec_xby dex - //SEG25 [9] if((byte) main::scroll#1!=(byte) 255) goto main::@4 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby_neq_coby1_then_la1 + //SEG24 [8] if((byte) main::scroll#1!=(byte) 255) goto main::@4 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby_neq_coby1_then_la1 cpx #$ff bne b4_from_b8 - //SEG26 [10] phi from main::@8 to main::@5 [phi:main::@8->main::@5] + //SEG25 [9] phi from main::@8 to main::@5 [phi:main::@8->main::@5] b5_from_b8: - //SEG27 [10] phi (byte) main::i#2 = (byte) 0 [phi:main::@8->main::@5#0] -- xby=coby1 + //SEG26 [9] phi (byte) main::i#2 = (byte) 0 [phi:main::@8->main::@5#0] -- xby=coby1 ldx #0 jmp b5 - //SEG28 [10] phi from main::@5 to main::@5 [phi:main::@5->main::@5] + //SEG27 [9] phi from main::@5 to main::@5 [phi:main::@5->main::@5] b5_from_b5: - //SEG29 [10] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@5->main::@5#0] -- register_copy - //SEG30 main::@5 + //SEG28 [9] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@5->main::@5#0] -- register_copy + //SEG29 main::@5 b5: - //SEG31 [11] (byte~) main::$8 ← (const byte[]) main::line#0+(byte) 1 *idx (byte) main::i#2 [ main::nxt#9 main::i#2 main::$8 ] ( main:0 [ main::nxt#9 main::i#2 main::$8 ] ) -- aby=cowo1_staridx_xby + //SEG30 [10] (byte~) main::$7 ← (const byte[]) main::line#0+(byte) 1 *idx (byte) main::i#2 [ main::nxt#9 main::i#2 main::$7 ] ( main:0 [ main::nxt#9 main::i#2 main::$7 ] ) -- aby=cowo1_staridx_xby lda line+1,x - //SEG32 [12] *((const byte[]) main::line#0 + (byte) main::i#2) ← (byte~) main::$8 [ main::nxt#9 main::i#2 ] ( main:0 [ main::nxt#9 main::i#2 ] ) -- cowo1_staridx_xby=aby + //SEG31 [11] *((const byte[]) main::line#0 + (byte) main::i#2) ← (byte~) main::$7 [ main::nxt#9 main::i#2 ] ( main:0 [ main::nxt#9 main::i#2 ] ) -- cowo1_staridx_xby=aby sta line,x - //SEG33 [13] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby=_inc_xby + //SEG32 [12] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby=_inc_xby inx - //SEG34 [14] if((byte) main::i#1!=(byte) 39) goto main::@5 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby_neq_coby1_then_la1 + //SEG33 [13] if((byte) main::i#1!=(byte) 39) goto main::@5 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby_neq_coby1_then_la1 cpx #$27 bne b5_from_b5 - //SEG35 main::@10 + //SEG34 main::@10 b10: - //SEG36 [15] (byte) main::c#0 ← *((byte*) main::nxt#9) [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby=_star_zpptrby1 + //SEG35 [14] (byte) main::c#0 ← *((byte*) main::nxt#9) [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby=_star_zpptrby1 ldy #0 lda (nxt),y tax - //SEG37 [16] if((byte) main::c#0!=(byte) '@') goto main::@6 [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby_neq_coby1_then_la1 + //SEG36 [15] if((byte) main::c#0!=(byte) '@') goto main::@6 [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby_neq_coby1_then_la1 cpx #'@' bne b6_from_b10 - //SEG38 main::@11 + //SEG37 main::@11 b11: - //SEG39 [17] (byte) main::c#1 ← *((const byte*) TEXT#0) [ main::c#1 ] ( main:0 [ main::c#1 ] ) -- xby=_star_cowo1 + //SEG38 [16] (byte) main::c#1 ← *((const byte*) TEXT#0) [ main::c#1 ] ( main:0 [ main::c#1 ] ) -- xby=_star_cowo1 ldx TEXT - //SEG40 [18] phi from main::@11 to main::@6 [phi:main::@11->main::@6] + //SEG39 [17] phi from main::@11 to main::@6 [phi:main::@11->main::@6] b6_from_b11: - //SEG41 [18] phi (byte*) main::nxt#4 = (const byte*) TEXT#0 [phi:main::@11->main::@6#0] -- zpptrby1=cowo1 + //SEG40 [17] phi (byte*) main::nxt#4 = (const byte*) TEXT#0 [phi:main::@11->main::@6#0] -- zpptrby1=cowo1 lda #TEXT sta nxt+1 - //SEG42 [18] phi (byte) main::c#2 = (byte) main::c#1 [phi:main::@11->main::@6#1] -- register_copy + //SEG41 [17] phi (byte) main::c#2 = (byte) main::c#1 [phi:main::@11->main::@6#1] -- register_copy jmp b6 - //SEG43 [18] phi from main::@10 to main::@6 [phi:main::@10->main::@6] + //SEG42 [17] phi from main::@10 to main::@6 [phi:main::@10->main::@6] b6_from_b10: - //SEG44 [18] phi (byte*) main::nxt#4 = (byte*) main::nxt#9 [phi:main::@10->main::@6#0] -- register_copy - //SEG45 [18] phi (byte) main::c#2 = (byte) main::c#0 [phi:main::@10->main::@6#1] -- register_copy - //SEG46 main::@6 + //SEG43 [17] phi (byte*) main::nxt#4 = (byte*) main::nxt#9 [phi:main::@10->main::@6#0] -- register_copy + //SEG44 [17] phi (byte) main::c#2 = (byte) main::c#0 [phi:main::@10->main::@6#1] -- register_copy + //SEG45 main::@6 b6: - //SEG47 [19] *((const byte[]) main::line#0+(byte) 39) ← (byte) main::c#2 [ main::nxt#4 ] ( main:0 [ main::nxt#4 ] ) -- _star_cowo1=xby + //SEG46 [18] *((const byte[]) main::line#0+(byte) 39) ← (byte) main::c#2 [ main::nxt#4 ] ( main:0 [ main::nxt#4 ] ) -- _star_cowo1=xby stx line+$27 - //SEG48 [20] (byte*) main::nxt#1 ← ++ (byte*) main::nxt#4 [ main::nxt#1 ] ( main:0 [ main::nxt#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG47 [19] (byte*) main::nxt#1 ← ++ (byte*) main::nxt#4 [ main::nxt#1 ] ( main:0 [ main::nxt#1 ] ) -- zpptrby1=_inc_zpptrby1 inc nxt bne !+ inc nxt+1 !: - //SEG49 [21] phi from main::@6 to main::@4 [phi:main::@6->main::@4] + //SEG48 [20] phi from main::@6 to main::@4 [phi:main::@6->main::@4] b4_from_b6: - //SEG50 [21] phi (byte*) main::nxt#10 = (byte*) main::nxt#1 [phi:main::@6->main::@4#0] -- register_copy - //SEG51 [21] phi (byte) main::scroll#10 = (byte) 7 [phi:main::@6->main::@4#1] -- xby=coby1 + //SEG49 [20] phi (byte*) main::nxt#10 = (byte*) main::nxt#1 [phi:main::@6->main::@4#0] -- register_copy + //SEG50 [20] phi (byte) main::scroll#10 = (byte) 7 [phi:main::@6->main::@4#1] -- xby=coby1 ldx #7 jmp b4 - //SEG52 [21] phi from main::@8 to main::@4 [phi:main::@8->main::@4] + //SEG51 [20] phi from main::@8 to main::@4 [phi:main::@8->main::@4] b4_from_b8: - //SEG53 [21] phi (byte*) main::nxt#10 = (byte*) main::nxt#9 [phi:main::@8->main::@4#0] -- register_copy - //SEG54 [21] phi (byte) main::scroll#10 = (byte) main::scroll#1 [phi:main::@8->main::@4#1] -- register_copy - //SEG55 main::@4 + //SEG52 [20] phi (byte*) main::nxt#10 = (byte*) main::nxt#9 [phi:main::@8->main::@4#0] -- register_copy + //SEG53 [20] phi (byte) main::scroll#10 = (byte) main::scroll#1 [phi:main::@8->main::@4#1] -- register_copy + //SEG54 main::@4 b4: - //SEG56 [22] *((const byte*) SCROLL#0) ← (byte) main::scroll#10 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=xby + //SEG55 [21] *((const byte*) SCROLL#0) ← (byte) main::scroll#10 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=xby stx SCROLL - //SEG57 [23] (byte~) main::$12 ← *((const byte*) BGCOL#0) - (byte) 1 [ main::scroll#10 main::nxt#10 main::$12 ] ( main:0 [ main::scroll#10 main::nxt#10 main::$12 ] ) -- aby=_star_cowo1_minus_1 - lda BGCOL - sec - sbc #1 - //SEG58 [24] *((const byte*) BGCOL#0) ← (byte~) main::$12 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=aby - sta BGCOL - //SEG59 [25] if(true) goto main::@2 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- true_then_la1 + //SEG56 [22] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=_dec__star_cowo1 + dec BGCOL + //SEG57 [23] if(true) goto main::@2 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- true_then_la1 jmp b2_from_b4 - //SEG60 main::@return + //SEG58 main::@return breturn: - //SEG61 [26] return [ ] ( main:0 [ ] ) + //SEG59 [24] return [ ] ( main:0 [ ] ) rts } -//SEG62 fillscreen +//SEG60 fillscreen fillscreen: { .const fill = $20 .label cursor = 2 - //SEG63 [28] phi from fillscreen to fillscreen::@1 [phi:fillscreen->fillscreen::@1] + //SEG61 [26] phi from fillscreen to fillscreen::@1 [phi:fillscreen->fillscreen::@1] b1_from_fillscreen: - //SEG64 [28] phi (byte*) fillscreen::cursor#2 = (const byte*) SCREEN#0 [phi:fillscreen->fillscreen::@1#0] -- zpptrby1=cowo1 + //SEG62 [26] phi (byte*) fillscreen::cursor#2 = (const byte*) SCREEN#0 [phi:fillscreen->fillscreen::@1#0] -- zpptrby1=cowo1 lda #SCREEN sta cursor+1 jmp b1 - //SEG65 [28] phi from fillscreen::@1 to fillscreen::@1 [phi:fillscreen::@1->fillscreen::@1] + //SEG63 [26] phi from fillscreen::@1 to fillscreen::@1 [phi:fillscreen::@1->fillscreen::@1] b1_from_b1: - //SEG66 [28] phi (byte*) fillscreen::cursor#2 = (byte*) fillscreen::cursor#1 [phi:fillscreen::@1->fillscreen::@1#0] -- register_copy - //SEG67 fillscreen::@1 + //SEG64 [26] phi (byte*) fillscreen::cursor#2 = (byte*) fillscreen::cursor#1 [phi:fillscreen::@1->fillscreen::@1#0] -- register_copy + //SEG65 fillscreen::@1 b1: - //SEG68 [29] *((byte*) fillscreen::cursor#2) ← (const byte) fillscreen::fill#0 [ fillscreen::cursor#2 ] ( main:0::fillscreen:2 [ fillscreen::cursor#2 ] ) -- _star_zpptrby1=coby1 + //SEG66 [27] *((byte*) fillscreen::cursor#2) ← (const byte) fillscreen::fill#0 [ fillscreen::cursor#2 ] ( main:0::fillscreen:2 [ fillscreen::cursor#2 ] ) -- _star_zpptrby1=coby1 ldy #0 lda #fill sta (cursor),y - //SEG69 [30] (byte*) fillscreen::cursor#1 ← ++ (byte*) fillscreen::cursor#2 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG67 [28] (byte*) fillscreen::cursor#1 ← ++ (byte*) fillscreen::cursor#2 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1=_inc_zpptrby1 inc cursor bne !+ inc cursor+1 !: - //SEG70 [31] if((byte*) fillscreen::cursor#1<(const byte*) SCREEN#0+(word) 1000) goto fillscreen::@1 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1_lt_cowo1_then_la1 + //SEG68 [29] if((byte*) fillscreen::cursor#1<(const byte*) SCREEN#0+(word) 1000) goto fillscreen::@1 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1_lt_cowo1_then_la1 lda cursor+1 cmp #>SCREEN+$3e8 bcc b1_from_b1 @@ -3912,9 +3814,9 @@ fillscreen: { cmp #fillscreen] + //SEG9 [25] phi from main to fillscreen [phi:main->fillscreen] fillscreen_from_main: jsr fillscreen //SEG10 [3] phi from main to main::@2 [phi:main->main::@2] @@ -3989,121 +3891,113 @@ main: { bne b3 //SEG21 main::@8 b8: - //SEG22 [6] (byte~) main::$4 ← *((const byte*) BGCOL#0) + (byte) 1 [ main::scroll#7 main::nxt#9 main::$4 ] ( main:0 [ main::scroll#7 main::nxt#9 main::$4 ] ) -- aby=_star_cowo1_plus_1 - lda BGCOL - clc - adc #1 - //SEG23 [7] *((const byte*) BGCOL#0) ← (byte~) main::$4 [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] ) -- _star_cowo1=aby - sta BGCOL - //SEG24 [8] (byte) main::scroll#1 ← -- (byte) main::scroll#7 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby=_dec_xby + //SEG22 [6] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] ) -- _star_cowo1=_inc__star_cowo1 + inc BGCOL + //SEG23 [7] (byte) main::scroll#1 ← -- (byte) main::scroll#7 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby=_dec_xby dex - //SEG25 [9] if((byte) main::scroll#1!=(byte) 255) goto main::@4 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby_neq_coby1_then_la1 + //SEG24 [8] if((byte) main::scroll#1!=(byte) 255) goto main::@4 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby_neq_coby1_then_la1 cpx #$ff bne b4 - //SEG26 [10] phi from main::@8 to main::@5 [phi:main::@8->main::@5] + //SEG25 [9] phi from main::@8 to main::@5 [phi:main::@8->main::@5] b5_from_b8: - //SEG27 [10] phi (byte) main::i#2 = (byte) 0 [phi:main::@8->main::@5#0] -- xby=coby1 + //SEG26 [9] phi (byte) main::i#2 = (byte) 0 [phi:main::@8->main::@5#0] -- xby=coby1 ldx #0 jmp b5 - //SEG28 [10] phi from main::@5 to main::@5 [phi:main::@5->main::@5] - //SEG29 [10] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@5->main::@5#0] -- register_copy - //SEG30 main::@5 + //SEG27 [9] phi from main::@5 to main::@5 [phi:main::@5->main::@5] + //SEG28 [9] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@5->main::@5#0] -- register_copy + //SEG29 main::@5 b5: - //SEG31 [11] (byte~) main::$8 ← (const byte[]) main::line#0+(byte) 1 *idx (byte) main::i#2 [ main::nxt#9 main::i#2 main::$8 ] ( main:0 [ main::nxt#9 main::i#2 main::$8 ] ) -- aby=cowo1_staridx_xby + //SEG30 [10] (byte~) main::$7 ← (const byte[]) main::line#0+(byte) 1 *idx (byte) main::i#2 [ main::nxt#9 main::i#2 main::$7 ] ( main:0 [ main::nxt#9 main::i#2 main::$7 ] ) -- aby=cowo1_staridx_xby lda line+1,x - //SEG32 [12] *((const byte[]) main::line#0 + (byte) main::i#2) ← (byte~) main::$8 [ main::nxt#9 main::i#2 ] ( main:0 [ main::nxt#9 main::i#2 ] ) -- cowo1_staridx_xby=aby + //SEG31 [11] *((const byte[]) main::line#0 + (byte) main::i#2) ← (byte~) main::$7 [ main::nxt#9 main::i#2 ] ( main:0 [ main::nxt#9 main::i#2 ] ) -- cowo1_staridx_xby=aby sta line,x - //SEG33 [13] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby=_inc_xby + //SEG32 [12] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby=_inc_xby inx - //SEG34 [14] if((byte) main::i#1!=(byte) 39) goto main::@5 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby_neq_coby1_then_la1 + //SEG33 [13] if((byte) main::i#1!=(byte) 39) goto main::@5 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby_neq_coby1_then_la1 cpx #$27 bne b5 - //SEG35 main::@10 + //SEG34 main::@10 b10: - //SEG36 [15] (byte) main::c#0 ← *((byte*) main::nxt#9) [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby=_star_zpptrby1 + //SEG35 [14] (byte) main::c#0 ← *((byte*) main::nxt#9) [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby=_star_zpptrby1 ldy #0 lda (nxt),y tax - //SEG37 [16] if((byte) main::c#0!=(byte) '@') goto main::@6 [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby_neq_coby1_then_la1 + //SEG36 [15] if((byte) main::c#0!=(byte) '@') goto main::@6 [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby_neq_coby1_then_la1 cpx #'@' bne b6 - //SEG38 main::@11 + //SEG37 main::@11 b11: - //SEG39 [17] (byte) main::c#1 ← *((const byte*) TEXT#0) [ main::c#1 ] ( main:0 [ main::c#1 ] ) -- xby=_star_cowo1 + //SEG38 [16] (byte) main::c#1 ← *((const byte*) TEXT#0) [ main::c#1 ] ( main:0 [ main::c#1 ] ) -- xby=_star_cowo1 ldx TEXT - //SEG40 [18] phi from main::@11 to main::@6 [phi:main::@11->main::@6] + //SEG39 [17] phi from main::@11 to main::@6 [phi:main::@11->main::@6] b6_from_b11: - //SEG41 [18] phi (byte*) main::nxt#4 = (const byte*) TEXT#0 [phi:main::@11->main::@6#0] -- zpptrby1=cowo1 + //SEG40 [17] phi (byte*) main::nxt#4 = (const byte*) TEXT#0 [phi:main::@11->main::@6#0] -- zpptrby1=cowo1 lda #TEXT sta nxt+1 - //SEG42 [18] phi (byte) main::c#2 = (byte) main::c#1 [phi:main::@11->main::@6#1] -- register_copy + //SEG41 [17] phi (byte) main::c#2 = (byte) main::c#1 [phi:main::@11->main::@6#1] -- register_copy jmp b6 - //SEG43 [18] phi from main::@10 to main::@6 [phi:main::@10->main::@6] - //SEG44 [18] phi (byte*) main::nxt#4 = (byte*) main::nxt#9 [phi:main::@10->main::@6#0] -- register_copy - //SEG45 [18] phi (byte) main::c#2 = (byte) main::c#0 [phi:main::@10->main::@6#1] -- register_copy - //SEG46 main::@6 + //SEG42 [17] phi from main::@10 to main::@6 [phi:main::@10->main::@6] + //SEG43 [17] phi (byte*) main::nxt#4 = (byte*) main::nxt#9 [phi:main::@10->main::@6#0] -- register_copy + //SEG44 [17] phi (byte) main::c#2 = (byte) main::c#0 [phi:main::@10->main::@6#1] -- register_copy + //SEG45 main::@6 b6: - //SEG47 [19] *((const byte[]) main::line#0+(byte) 39) ← (byte) main::c#2 [ main::nxt#4 ] ( main:0 [ main::nxt#4 ] ) -- _star_cowo1=xby + //SEG46 [18] *((const byte[]) main::line#0+(byte) 39) ← (byte) main::c#2 [ main::nxt#4 ] ( main:0 [ main::nxt#4 ] ) -- _star_cowo1=xby stx line+$27 - //SEG48 [20] (byte*) main::nxt#1 ← ++ (byte*) main::nxt#4 [ main::nxt#1 ] ( main:0 [ main::nxt#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG47 [19] (byte*) main::nxt#1 ← ++ (byte*) main::nxt#4 [ main::nxt#1 ] ( main:0 [ main::nxt#1 ] ) -- zpptrby1=_inc_zpptrby1 inc nxt bne !+ inc nxt+1 !: - //SEG49 [21] phi from main::@6 to main::@4 [phi:main::@6->main::@4] + //SEG48 [20] phi from main::@6 to main::@4 [phi:main::@6->main::@4] b4_from_b6: - //SEG50 [21] phi (byte*) main::nxt#10 = (byte*) main::nxt#1 [phi:main::@6->main::@4#0] -- register_copy - //SEG51 [21] phi (byte) main::scroll#10 = (byte) 7 [phi:main::@6->main::@4#1] -- xby=coby1 + //SEG49 [20] phi (byte*) main::nxt#10 = (byte*) main::nxt#1 [phi:main::@6->main::@4#0] -- register_copy + //SEG50 [20] phi (byte) main::scroll#10 = (byte) 7 [phi:main::@6->main::@4#1] -- xby=coby1 ldx #7 jmp b4 - //SEG52 [21] phi from main::@8 to main::@4 [phi:main::@8->main::@4] - //SEG53 [21] phi (byte*) main::nxt#10 = (byte*) main::nxt#9 [phi:main::@8->main::@4#0] -- register_copy - //SEG54 [21] phi (byte) main::scroll#10 = (byte) main::scroll#1 [phi:main::@8->main::@4#1] -- register_copy - //SEG55 main::@4 + //SEG51 [20] phi from main::@8 to main::@4 [phi:main::@8->main::@4] + //SEG52 [20] phi (byte*) main::nxt#10 = (byte*) main::nxt#9 [phi:main::@8->main::@4#0] -- register_copy + //SEG53 [20] phi (byte) main::scroll#10 = (byte) main::scroll#1 [phi:main::@8->main::@4#1] -- register_copy + //SEG54 main::@4 b4: - //SEG56 [22] *((const byte*) SCROLL#0) ← (byte) main::scroll#10 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=xby + //SEG55 [21] *((const byte*) SCROLL#0) ← (byte) main::scroll#10 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=xby stx SCROLL - //SEG57 [23] (byte~) main::$12 ← *((const byte*) BGCOL#0) - (byte) 1 [ main::scroll#10 main::nxt#10 main::$12 ] ( main:0 [ main::scroll#10 main::nxt#10 main::$12 ] ) -- aby=_star_cowo1_minus_1 - lda BGCOL - sec - sbc #1 - //SEG58 [24] *((const byte*) BGCOL#0) ← (byte~) main::$12 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=aby - sta BGCOL - //SEG59 [25] if(true) goto main::@2 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- true_then_la1 + //SEG56 [22] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=_dec__star_cowo1 + dec BGCOL + //SEG57 [23] if(true) goto main::@2 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- true_then_la1 jmp b2 - //SEG60 main::@return + //SEG58 main::@return breturn: - //SEG61 [26] return [ ] ( main:0 [ ] ) + //SEG59 [24] return [ ] ( main:0 [ ] ) rts } -//SEG62 fillscreen +//SEG60 fillscreen fillscreen: { .const fill = $20 .label cursor = 2 - //SEG63 [28] phi from fillscreen to fillscreen::@1 [phi:fillscreen->fillscreen::@1] + //SEG61 [26] phi from fillscreen to fillscreen::@1 [phi:fillscreen->fillscreen::@1] b1_from_fillscreen: - //SEG64 [28] phi (byte*) fillscreen::cursor#2 = (const byte*) SCREEN#0 [phi:fillscreen->fillscreen::@1#0] -- zpptrby1=cowo1 + //SEG62 [26] phi (byte*) fillscreen::cursor#2 = (const byte*) SCREEN#0 [phi:fillscreen->fillscreen::@1#0] -- zpptrby1=cowo1 lda #SCREEN sta cursor+1 jmp b1 - //SEG65 [28] phi from fillscreen::@1 to fillscreen::@1 [phi:fillscreen::@1->fillscreen::@1] - //SEG66 [28] phi (byte*) fillscreen::cursor#2 = (byte*) fillscreen::cursor#1 [phi:fillscreen::@1->fillscreen::@1#0] -- register_copy - //SEG67 fillscreen::@1 + //SEG63 [26] phi from fillscreen::@1 to fillscreen::@1 [phi:fillscreen::@1->fillscreen::@1] + //SEG64 [26] phi (byte*) fillscreen::cursor#2 = (byte*) fillscreen::cursor#1 [phi:fillscreen::@1->fillscreen::@1#0] -- register_copy + //SEG65 fillscreen::@1 b1: - //SEG68 [29] *((byte*) fillscreen::cursor#2) ← (const byte) fillscreen::fill#0 [ fillscreen::cursor#2 ] ( main:0::fillscreen:2 [ fillscreen::cursor#2 ] ) -- _star_zpptrby1=coby1 + //SEG66 [27] *((byte*) fillscreen::cursor#2) ← (const byte) fillscreen::fill#0 [ fillscreen::cursor#2 ] ( main:0::fillscreen:2 [ fillscreen::cursor#2 ] ) -- _star_zpptrby1=coby1 ldy #0 lda #fill sta (cursor),y - //SEG69 [30] (byte*) fillscreen::cursor#1 ← ++ (byte*) fillscreen::cursor#2 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG67 [28] (byte*) fillscreen::cursor#1 ← ++ (byte*) fillscreen::cursor#2 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1=_inc_zpptrby1 inc cursor bne !+ inc cursor+1 !: - //SEG70 [31] if((byte*) fillscreen::cursor#1<(const byte*) SCREEN#0+(word) 1000) goto fillscreen::@1 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1_lt_cowo1_then_la1 + //SEG68 [29] if((byte*) fillscreen::cursor#1<(const byte*) SCREEN#0+(word) 1000) goto fillscreen::@1 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1_lt_cowo1_then_la1 lda cursor+1 cmp #>SCREEN+$3e8 bcc b1 @@ -4112,9 +4006,9 @@ fillscreen: { cmp #fillscreen] + //SEG9 [25] phi from main to fillscreen [phi:main->fillscreen] jsr fillscreen //SEG10 [3] phi from main to main::@2 [phi:main->main::@2] //SEG11 [3] phi (byte*) main::nxt#9 = (const byte*) TEXT#0 [phi:main->main::@2#0] -- zpptrby1=cowo1 @@ -4184,114 +4078,106 @@ main: { cmp #$ff bne b3 //SEG21 main::@8 - //SEG22 [6] (byte~) main::$4 ← *((const byte*) BGCOL#0) + (byte) 1 [ main::scroll#7 main::nxt#9 main::$4 ] ( main:0 [ main::scroll#7 main::nxt#9 main::$4 ] ) -- aby=_star_cowo1_plus_1 - lda BGCOL - clc - adc #1 - //SEG23 [7] *((const byte*) BGCOL#0) ← (byte~) main::$4 [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] ) -- _star_cowo1=aby - sta BGCOL - //SEG24 [8] (byte) main::scroll#1 ← -- (byte) main::scroll#7 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby=_dec_xby + //SEG22 [6] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] ) -- _star_cowo1=_inc__star_cowo1 + inc BGCOL + //SEG23 [7] (byte) main::scroll#1 ← -- (byte) main::scroll#7 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby=_dec_xby dex - //SEG25 [9] if((byte) main::scroll#1!=(byte) 255) goto main::@4 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby_neq_coby1_then_la1 + //SEG24 [8] if((byte) main::scroll#1!=(byte) 255) goto main::@4 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby_neq_coby1_then_la1 cpx #$ff bne b4 - //SEG26 [10] phi from main::@8 to main::@5 [phi:main::@8->main::@5] - //SEG27 [10] phi (byte) main::i#2 = (byte) 0 [phi:main::@8->main::@5#0] -- xby=coby1 + //SEG25 [9] phi from main::@8 to main::@5 [phi:main::@8->main::@5] + //SEG26 [9] phi (byte) main::i#2 = (byte) 0 [phi:main::@8->main::@5#0] -- xby=coby1 ldx #0 jmp b5 - //SEG28 [10] phi from main::@5 to main::@5 [phi:main::@5->main::@5] - //SEG29 [10] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@5->main::@5#0] -- register_copy - //SEG30 main::@5 + //SEG27 [9] phi from main::@5 to main::@5 [phi:main::@5->main::@5] + //SEG28 [9] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@5->main::@5#0] -- register_copy + //SEG29 main::@5 b5: - //SEG31 [11] (byte~) main::$8 ← (const byte[]) main::line#0+(byte) 1 *idx (byte) main::i#2 [ main::nxt#9 main::i#2 main::$8 ] ( main:0 [ main::nxt#9 main::i#2 main::$8 ] ) -- aby=cowo1_staridx_xby + //SEG30 [10] (byte~) main::$7 ← (const byte[]) main::line#0+(byte) 1 *idx (byte) main::i#2 [ main::nxt#9 main::i#2 main::$7 ] ( main:0 [ main::nxt#9 main::i#2 main::$7 ] ) -- aby=cowo1_staridx_xby lda line+1,x - //SEG32 [12] *((const byte[]) main::line#0 + (byte) main::i#2) ← (byte~) main::$8 [ main::nxt#9 main::i#2 ] ( main:0 [ main::nxt#9 main::i#2 ] ) -- cowo1_staridx_xby=aby + //SEG31 [11] *((const byte[]) main::line#0 + (byte) main::i#2) ← (byte~) main::$7 [ main::nxt#9 main::i#2 ] ( main:0 [ main::nxt#9 main::i#2 ] ) -- cowo1_staridx_xby=aby sta line,x - //SEG33 [13] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby=_inc_xby + //SEG32 [12] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby=_inc_xby inx - //SEG34 [14] if((byte) main::i#1!=(byte) 39) goto main::@5 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby_neq_coby1_then_la1 + //SEG33 [13] if((byte) main::i#1!=(byte) 39) goto main::@5 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby_neq_coby1_then_la1 cpx #$27 bne b5 - //SEG35 main::@10 - //SEG36 [15] (byte) main::c#0 ← *((byte*) main::nxt#9) [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby=_star_zpptrby1 + //SEG34 main::@10 + //SEG35 [14] (byte) main::c#0 ← *((byte*) main::nxt#9) [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby=_star_zpptrby1 ldy #0 lda (nxt),y tax - //SEG37 [16] if((byte) main::c#0!=(byte) '@') goto main::@6 [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby_neq_coby1_then_la1 + //SEG36 [15] if((byte) main::c#0!=(byte) '@') goto main::@6 [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby_neq_coby1_then_la1 cpx #'@' bne b6 - //SEG38 main::@11 - //SEG39 [17] (byte) main::c#1 ← *((const byte*) TEXT#0) [ main::c#1 ] ( main:0 [ main::c#1 ] ) -- xby=_star_cowo1 + //SEG37 main::@11 + //SEG38 [16] (byte) main::c#1 ← *((const byte*) TEXT#0) [ main::c#1 ] ( main:0 [ main::c#1 ] ) -- xby=_star_cowo1 ldx TEXT - //SEG40 [18] phi from main::@11 to main::@6 [phi:main::@11->main::@6] - //SEG41 [18] phi (byte*) main::nxt#4 = (const byte*) TEXT#0 [phi:main::@11->main::@6#0] -- zpptrby1=cowo1 + //SEG39 [17] phi from main::@11 to main::@6 [phi:main::@11->main::@6] + //SEG40 [17] phi (byte*) main::nxt#4 = (const byte*) TEXT#0 [phi:main::@11->main::@6#0] -- zpptrby1=cowo1 lda #TEXT sta nxt+1 - //SEG42 [18] phi (byte) main::c#2 = (byte) main::c#1 [phi:main::@11->main::@6#1] -- register_copy + //SEG41 [17] phi (byte) main::c#2 = (byte) main::c#1 [phi:main::@11->main::@6#1] -- register_copy jmp b6 - //SEG43 [18] phi from main::@10 to main::@6 [phi:main::@10->main::@6] - //SEG44 [18] phi (byte*) main::nxt#4 = (byte*) main::nxt#9 [phi:main::@10->main::@6#0] -- register_copy - //SEG45 [18] phi (byte) main::c#2 = (byte) main::c#0 [phi:main::@10->main::@6#1] -- register_copy - //SEG46 main::@6 + //SEG42 [17] phi from main::@10 to main::@6 [phi:main::@10->main::@6] + //SEG43 [17] phi (byte*) main::nxt#4 = (byte*) main::nxt#9 [phi:main::@10->main::@6#0] -- register_copy + //SEG44 [17] phi (byte) main::c#2 = (byte) main::c#0 [phi:main::@10->main::@6#1] -- register_copy + //SEG45 main::@6 b6: - //SEG47 [19] *((const byte[]) main::line#0+(byte) 39) ← (byte) main::c#2 [ main::nxt#4 ] ( main:0 [ main::nxt#4 ] ) -- _star_cowo1=xby + //SEG46 [18] *((const byte[]) main::line#0+(byte) 39) ← (byte) main::c#2 [ main::nxt#4 ] ( main:0 [ main::nxt#4 ] ) -- _star_cowo1=xby stx line+$27 - //SEG48 [20] (byte*) main::nxt#1 ← ++ (byte*) main::nxt#4 [ main::nxt#1 ] ( main:0 [ main::nxt#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG47 [19] (byte*) main::nxt#1 ← ++ (byte*) main::nxt#4 [ main::nxt#1 ] ( main:0 [ main::nxt#1 ] ) -- zpptrby1=_inc_zpptrby1 inc nxt bne !+ inc nxt+1 !: - //SEG49 [21] phi from main::@6 to main::@4 [phi:main::@6->main::@4] - //SEG50 [21] phi (byte*) main::nxt#10 = (byte*) main::nxt#1 [phi:main::@6->main::@4#0] -- register_copy - //SEG51 [21] phi (byte) main::scroll#10 = (byte) 7 [phi:main::@6->main::@4#1] -- xby=coby1 + //SEG48 [20] phi from main::@6 to main::@4 [phi:main::@6->main::@4] + //SEG49 [20] phi (byte*) main::nxt#10 = (byte*) main::nxt#1 [phi:main::@6->main::@4#0] -- register_copy + //SEG50 [20] phi (byte) main::scroll#10 = (byte) 7 [phi:main::@6->main::@4#1] -- xby=coby1 ldx #7 jmp b4 - //SEG52 [21] phi from main::@8 to main::@4 [phi:main::@8->main::@4] - //SEG53 [21] phi (byte*) main::nxt#10 = (byte*) main::nxt#9 [phi:main::@8->main::@4#0] -- register_copy - //SEG54 [21] phi (byte) main::scroll#10 = (byte) main::scroll#1 [phi:main::@8->main::@4#1] -- register_copy - //SEG55 main::@4 + //SEG51 [20] phi from main::@8 to main::@4 [phi:main::@8->main::@4] + //SEG52 [20] phi (byte*) main::nxt#10 = (byte*) main::nxt#9 [phi:main::@8->main::@4#0] -- register_copy + //SEG53 [20] phi (byte) main::scroll#10 = (byte) main::scroll#1 [phi:main::@8->main::@4#1] -- register_copy + //SEG54 main::@4 b4: - //SEG56 [22] *((const byte*) SCROLL#0) ← (byte) main::scroll#10 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=xby + //SEG55 [21] *((const byte*) SCROLL#0) ← (byte) main::scroll#10 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=xby stx SCROLL - //SEG57 [23] (byte~) main::$12 ← *((const byte*) BGCOL#0) - (byte) 1 [ main::scroll#10 main::nxt#10 main::$12 ] ( main:0 [ main::scroll#10 main::nxt#10 main::$12 ] ) -- aby=_star_cowo1_minus_1 - lda BGCOL - sec - sbc #1 - //SEG58 [24] *((const byte*) BGCOL#0) ← (byte~) main::$12 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=aby - sta BGCOL - //SEG59 [25] if(true) goto main::@2 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- true_then_la1 + //SEG56 [22] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=_dec__star_cowo1 + dec BGCOL + //SEG57 [23] if(true) goto main::@2 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- true_then_la1 jmp b2 - //SEG60 main::@return - //SEG61 [26] return [ ] ( main:0 [ ] ) + //SEG58 main::@return + //SEG59 [24] return [ ] ( main:0 [ ] ) rts } -//SEG62 fillscreen +//SEG60 fillscreen fillscreen: { .const fill = $20 .label cursor = 2 - //SEG63 [28] phi from fillscreen to fillscreen::@1 [phi:fillscreen->fillscreen::@1] - //SEG64 [28] phi (byte*) fillscreen::cursor#2 = (const byte*) SCREEN#0 [phi:fillscreen->fillscreen::@1#0] -- zpptrby1=cowo1 + //SEG61 [26] phi from fillscreen to fillscreen::@1 [phi:fillscreen->fillscreen::@1] + //SEG62 [26] phi (byte*) fillscreen::cursor#2 = (const byte*) SCREEN#0 [phi:fillscreen->fillscreen::@1#0] -- zpptrby1=cowo1 lda #SCREEN sta cursor+1 jmp b1 - //SEG65 [28] phi from fillscreen::@1 to fillscreen::@1 [phi:fillscreen::@1->fillscreen::@1] - //SEG66 [28] phi (byte*) fillscreen::cursor#2 = (byte*) fillscreen::cursor#1 [phi:fillscreen::@1->fillscreen::@1#0] -- register_copy - //SEG67 fillscreen::@1 + //SEG63 [26] phi from fillscreen::@1 to fillscreen::@1 [phi:fillscreen::@1->fillscreen::@1] + //SEG64 [26] phi (byte*) fillscreen::cursor#2 = (byte*) fillscreen::cursor#1 [phi:fillscreen::@1->fillscreen::@1#0] -- register_copy + //SEG65 fillscreen::@1 b1: - //SEG68 [29] *((byte*) fillscreen::cursor#2) ← (const byte) fillscreen::fill#0 [ fillscreen::cursor#2 ] ( main:0::fillscreen:2 [ fillscreen::cursor#2 ] ) -- _star_zpptrby1=coby1 + //SEG66 [27] *((byte*) fillscreen::cursor#2) ← (const byte) fillscreen::fill#0 [ fillscreen::cursor#2 ] ( main:0::fillscreen:2 [ fillscreen::cursor#2 ] ) -- _star_zpptrby1=coby1 ldy #0 lda #fill sta (cursor),y - //SEG69 [30] (byte*) fillscreen::cursor#1 ← ++ (byte*) fillscreen::cursor#2 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG67 [28] (byte*) fillscreen::cursor#1 ← ++ (byte*) fillscreen::cursor#2 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1=_inc_zpptrby1 inc cursor bne !+ inc cursor+1 !: - //SEG70 [31] if((byte*) fillscreen::cursor#1<(const byte*) SCREEN#0+(word) 1000) goto fillscreen::@1 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1_lt_cowo1_then_la1 + //SEG68 [29] if((byte*) fillscreen::cursor#1<(const byte*) SCREEN#0+(word) 1000) goto fillscreen::@1 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1_lt_cowo1_then_la1 lda cursor+1 cmp #>SCREEN+$3e8 bcc b1 @@ -4300,8 +4186,8 @@ fillscreen: { cmp #fillscreen] + //SEG9 [25] phi from main to fillscreen [phi:main->fillscreen] jsr fillscreen //SEG10 [3] phi from main to main::@2 [phi:main->main::@2] //SEG11 [3] phi (byte*) main::nxt#9 = (const byte*) TEXT#0 [phi:main->main::@2#0] -- zpptrby1=cowo1 @@ -4362,110 +4248,102 @@ main: { cmp #$ff bne b3 //SEG21 main::@8 - //SEG22 [6] (byte~) main::$4 ← *((const byte*) BGCOL#0) + (byte) 1 [ main::scroll#7 main::nxt#9 main::$4 ] ( main:0 [ main::scroll#7 main::nxt#9 main::$4 ] ) -- aby=_star_cowo1_plus_1 - lda BGCOL - clc - adc #1 - //SEG23 [7] *((const byte*) BGCOL#0) ← (byte~) main::$4 [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] ) -- _star_cowo1=aby - sta BGCOL - //SEG24 [8] (byte) main::scroll#1 ← -- (byte) main::scroll#7 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby=_dec_xby + //SEG22 [6] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] ) -- _star_cowo1=_inc__star_cowo1 + inc BGCOL + //SEG23 [7] (byte) main::scroll#1 ← -- (byte) main::scroll#7 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby=_dec_xby dex - //SEG25 [9] if((byte) main::scroll#1!=(byte) 255) goto main::@4 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby_neq_coby1_then_la1 + //SEG24 [8] if((byte) main::scroll#1!=(byte) 255) goto main::@4 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby_neq_coby1_then_la1 cpx #$ff bne b4 - //SEG26 [10] phi from main::@8 to main::@5 [phi:main::@8->main::@5] - //SEG27 [10] phi (byte) main::i#2 = (byte) 0 [phi:main::@8->main::@5#0] -- xby=coby1 + //SEG25 [9] phi from main::@8 to main::@5 [phi:main::@8->main::@5] + //SEG26 [9] phi (byte) main::i#2 = (byte) 0 [phi:main::@8->main::@5#0] -- xby=coby1 ldx #0 - //SEG28 [10] phi from main::@5 to main::@5 [phi:main::@5->main::@5] - //SEG29 [10] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@5->main::@5#0] -- register_copy - //SEG30 main::@5 + //SEG27 [9] phi from main::@5 to main::@5 [phi:main::@5->main::@5] + //SEG28 [9] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@5->main::@5#0] -- register_copy + //SEG29 main::@5 b5: - //SEG31 [11] (byte~) main::$8 ← (const byte[]) main::line#0+(byte) 1 *idx (byte) main::i#2 [ main::nxt#9 main::i#2 main::$8 ] ( main:0 [ main::nxt#9 main::i#2 main::$8 ] ) -- aby=cowo1_staridx_xby + //SEG30 [10] (byte~) main::$7 ← (const byte[]) main::line#0+(byte) 1 *idx (byte) main::i#2 [ main::nxt#9 main::i#2 main::$7 ] ( main:0 [ main::nxt#9 main::i#2 main::$7 ] ) -- aby=cowo1_staridx_xby lda line+1,x - //SEG32 [12] *((const byte[]) main::line#0 + (byte) main::i#2) ← (byte~) main::$8 [ main::nxt#9 main::i#2 ] ( main:0 [ main::nxt#9 main::i#2 ] ) -- cowo1_staridx_xby=aby + //SEG31 [11] *((const byte[]) main::line#0 + (byte) main::i#2) ← (byte~) main::$7 [ main::nxt#9 main::i#2 ] ( main:0 [ main::nxt#9 main::i#2 ] ) -- cowo1_staridx_xby=aby sta line,x - //SEG33 [13] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby=_inc_xby + //SEG32 [12] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby=_inc_xby inx - //SEG34 [14] if((byte) main::i#1!=(byte) 39) goto main::@5 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby_neq_coby1_then_la1 + //SEG33 [13] if((byte) main::i#1!=(byte) 39) goto main::@5 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby_neq_coby1_then_la1 cpx #$27 bne b5 - //SEG35 main::@10 - //SEG36 [15] (byte) main::c#0 ← *((byte*) main::nxt#9) [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby=_star_zpptrby1 + //SEG34 main::@10 + //SEG35 [14] (byte) main::c#0 ← *((byte*) main::nxt#9) [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby=_star_zpptrby1 ldy #0 lda (nxt),y tax - //SEG37 [16] if((byte) main::c#0!=(byte) '@') goto main::@6 [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby_neq_coby1_then_la1 + //SEG36 [15] if((byte) main::c#0!=(byte) '@') goto main::@6 [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby_neq_coby1_then_la1 cpx #'@' bne b6 - //SEG38 main::@11 - //SEG39 [17] (byte) main::c#1 ← *((const byte*) TEXT#0) [ main::c#1 ] ( main:0 [ main::c#1 ] ) -- xby=_star_cowo1 + //SEG37 main::@11 + //SEG38 [16] (byte) main::c#1 ← *((const byte*) TEXT#0) [ main::c#1 ] ( main:0 [ main::c#1 ] ) -- xby=_star_cowo1 ldx TEXT - //SEG40 [18] phi from main::@11 to main::@6 [phi:main::@11->main::@6] - //SEG41 [18] phi (byte*) main::nxt#4 = (const byte*) TEXT#0 [phi:main::@11->main::@6#0] -- zpptrby1=cowo1 + //SEG39 [17] phi from main::@11 to main::@6 [phi:main::@11->main::@6] + //SEG40 [17] phi (byte*) main::nxt#4 = (const byte*) TEXT#0 [phi:main::@11->main::@6#0] -- zpptrby1=cowo1 lda #TEXT sta nxt+1 - //SEG42 [18] phi (byte) main::c#2 = (byte) main::c#1 [phi:main::@11->main::@6#1] -- register_copy - //SEG43 [18] phi from main::@10 to main::@6 [phi:main::@10->main::@6] - //SEG44 [18] phi (byte*) main::nxt#4 = (byte*) main::nxt#9 [phi:main::@10->main::@6#0] -- register_copy - //SEG45 [18] phi (byte) main::c#2 = (byte) main::c#0 [phi:main::@10->main::@6#1] -- register_copy - //SEG46 main::@6 + //SEG41 [17] phi (byte) main::c#2 = (byte) main::c#1 [phi:main::@11->main::@6#1] -- register_copy + //SEG42 [17] phi from main::@10 to main::@6 [phi:main::@10->main::@6] + //SEG43 [17] phi (byte*) main::nxt#4 = (byte*) main::nxt#9 [phi:main::@10->main::@6#0] -- register_copy + //SEG44 [17] phi (byte) main::c#2 = (byte) main::c#0 [phi:main::@10->main::@6#1] -- register_copy + //SEG45 main::@6 b6: - //SEG47 [19] *((const byte[]) main::line#0+(byte) 39) ← (byte) main::c#2 [ main::nxt#4 ] ( main:0 [ main::nxt#4 ] ) -- _star_cowo1=xby + //SEG46 [18] *((const byte[]) main::line#0+(byte) 39) ← (byte) main::c#2 [ main::nxt#4 ] ( main:0 [ main::nxt#4 ] ) -- _star_cowo1=xby stx line+$27 - //SEG48 [20] (byte*) main::nxt#1 ← ++ (byte*) main::nxt#4 [ main::nxt#1 ] ( main:0 [ main::nxt#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG47 [19] (byte*) main::nxt#1 ← ++ (byte*) main::nxt#4 [ main::nxt#1 ] ( main:0 [ main::nxt#1 ] ) -- zpptrby1=_inc_zpptrby1 inc nxt bne !+ inc nxt+1 !: - //SEG49 [21] phi from main::@6 to main::@4 [phi:main::@6->main::@4] - //SEG50 [21] phi (byte*) main::nxt#10 = (byte*) main::nxt#1 [phi:main::@6->main::@4#0] -- register_copy - //SEG51 [21] phi (byte) main::scroll#10 = (byte) 7 [phi:main::@6->main::@4#1] -- xby=coby1 + //SEG48 [20] phi from main::@6 to main::@4 [phi:main::@6->main::@4] + //SEG49 [20] phi (byte*) main::nxt#10 = (byte*) main::nxt#1 [phi:main::@6->main::@4#0] -- register_copy + //SEG50 [20] phi (byte) main::scroll#10 = (byte) 7 [phi:main::@6->main::@4#1] -- xby=coby1 ldx #7 - //SEG52 [21] phi from main::@8 to main::@4 [phi:main::@8->main::@4] - //SEG53 [21] phi (byte*) main::nxt#10 = (byte*) main::nxt#9 [phi:main::@8->main::@4#0] -- register_copy - //SEG54 [21] phi (byte) main::scroll#10 = (byte) main::scroll#1 [phi:main::@8->main::@4#1] -- register_copy - //SEG55 main::@4 + //SEG51 [20] phi from main::@8 to main::@4 [phi:main::@8->main::@4] + //SEG52 [20] phi (byte*) main::nxt#10 = (byte*) main::nxt#9 [phi:main::@8->main::@4#0] -- register_copy + //SEG53 [20] phi (byte) main::scroll#10 = (byte) main::scroll#1 [phi:main::@8->main::@4#1] -- register_copy + //SEG54 main::@4 b4: - //SEG56 [22] *((const byte*) SCROLL#0) ← (byte) main::scroll#10 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=xby + //SEG55 [21] *((const byte*) SCROLL#0) ← (byte) main::scroll#10 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=xby stx SCROLL - //SEG57 [23] (byte~) main::$12 ← *((const byte*) BGCOL#0) - (byte) 1 [ main::scroll#10 main::nxt#10 main::$12 ] ( main:0 [ main::scroll#10 main::nxt#10 main::$12 ] ) -- aby=_star_cowo1_minus_1 - lda BGCOL - sec - sbc #1 - //SEG58 [24] *((const byte*) BGCOL#0) ← (byte~) main::$12 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=aby - sta BGCOL - //SEG59 [25] if(true) goto main::@2 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- true_then_la1 + //SEG56 [22] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=_dec__star_cowo1 + dec BGCOL + //SEG57 [23] if(true) goto main::@2 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- true_then_la1 jmp b2 - //SEG60 main::@return - //SEG61 [26] return [ ] ( main:0 [ ] ) + //SEG58 main::@return + //SEG59 [24] return [ ] ( main:0 [ ] ) rts } -//SEG62 fillscreen +//SEG60 fillscreen fillscreen: { .const fill = $20 .label cursor = 2 - //SEG63 [28] phi from fillscreen to fillscreen::@1 [phi:fillscreen->fillscreen::@1] - //SEG64 [28] phi (byte*) fillscreen::cursor#2 = (const byte*) SCREEN#0 [phi:fillscreen->fillscreen::@1#0] -- zpptrby1=cowo1 + //SEG61 [26] phi from fillscreen to fillscreen::@1 [phi:fillscreen->fillscreen::@1] + //SEG62 [26] phi (byte*) fillscreen::cursor#2 = (const byte*) SCREEN#0 [phi:fillscreen->fillscreen::@1#0] -- zpptrby1=cowo1 lda #SCREEN sta cursor+1 - //SEG65 [28] phi from fillscreen::@1 to fillscreen::@1 [phi:fillscreen::@1->fillscreen::@1] - //SEG66 [28] phi (byte*) fillscreen::cursor#2 = (byte*) fillscreen::cursor#1 [phi:fillscreen::@1->fillscreen::@1#0] -- register_copy - //SEG67 fillscreen::@1 + //SEG63 [26] phi from fillscreen::@1 to fillscreen::@1 [phi:fillscreen::@1->fillscreen::@1] + //SEG64 [26] phi (byte*) fillscreen::cursor#2 = (byte*) fillscreen::cursor#1 [phi:fillscreen::@1->fillscreen::@1#0] -- register_copy + //SEG65 fillscreen::@1 b1: - //SEG68 [29] *((byte*) fillscreen::cursor#2) ← (const byte) fillscreen::fill#0 [ fillscreen::cursor#2 ] ( main:0::fillscreen:2 [ fillscreen::cursor#2 ] ) -- _star_zpptrby1=coby1 + //SEG66 [27] *((byte*) fillscreen::cursor#2) ← (const byte) fillscreen::fill#0 [ fillscreen::cursor#2 ] ( main:0::fillscreen:2 [ fillscreen::cursor#2 ] ) -- _star_zpptrby1=coby1 ldy #0 lda #fill sta (cursor),y - //SEG69 [30] (byte*) fillscreen::cursor#1 ← ++ (byte*) fillscreen::cursor#2 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG67 [28] (byte*) fillscreen::cursor#1 ← ++ (byte*) fillscreen::cursor#2 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1=_inc_zpptrby1 inc cursor bne !+ inc cursor+1 !: - //SEG70 [31] if((byte*) fillscreen::cursor#1<(const byte*) SCREEN#0+(word) 1000) goto fillscreen::@1 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1_lt_cowo1_then_la1 + //SEG68 [29] if((byte*) fillscreen::cursor#1<(const byte*) SCREEN#0+(word) 1000) goto fillscreen::@1 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1_lt_cowo1_then_la1 lda cursor+1 cmp #>SCREEN+$3e8 bcc b1 @@ -4474,8 +4352,8 @@ fillscreen: { cmp #fillscreen] + //SEG9 [25] phi from main to fillscreen [phi:main->fillscreen] jsr fillscreen //SEG10 [3] phi from main to main::@2 [phi:main->main::@2] //SEG11 [3] phi (byte*) main::nxt#9 = (const byte*) TEXT#0 [phi:main->main::@2#0] -- zpptrby1=cowo1 @@ -4532,110 +4410,102 @@ main: { cmp #$ff bne b3 //SEG21 main::@8 - //SEG22 [6] (byte~) main::$4 ← *((const byte*) BGCOL#0) + (byte) 1 [ main::scroll#7 main::nxt#9 main::$4 ] ( main:0 [ main::scroll#7 main::nxt#9 main::$4 ] ) -- aby=_star_cowo1_plus_1 - lda BGCOL - clc - adc #1 - //SEG23 [7] *((const byte*) BGCOL#0) ← (byte~) main::$4 [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] ) -- _star_cowo1=aby - sta BGCOL - //SEG24 [8] (byte) main::scroll#1 ← -- (byte) main::scroll#7 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby=_dec_xby + //SEG22 [6] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] ) -- _star_cowo1=_inc__star_cowo1 + inc BGCOL + //SEG23 [7] (byte) main::scroll#1 ← -- (byte) main::scroll#7 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby=_dec_xby dex - //SEG25 [9] if((byte) main::scroll#1!=(byte) 255) goto main::@4 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby_neq_coby1_then_la1 + //SEG24 [8] if((byte) main::scroll#1!=(byte) 255) goto main::@4 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby_neq_coby1_then_la1 cpx #$ff bne b4 - //SEG26 [10] phi from main::@8 to main::@5 [phi:main::@8->main::@5] - //SEG27 [10] phi (byte) main::i#2 = (byte) 0 [phi:main::@8->main::@5#0] -- xby=coby1 + //SEG25 [9] phi from main::@8 to main::@5 [phi:main::@8->main::@5] + //SEG26 [9] phi (byte) main::i#2 = (byte) 0 [phi:main::@8->main::@5#0] -- xby=coby1 ldx #0 - //SEG28 [10] phi from main::@5 to main::@5 [phi:main::@5->main::@5] - //SEG29 [10] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@5->main::@5#0] -- register_copy - //SEG30 main::@5 + //SEG27 [9] phi from main::@5 to main::@5 [phi:main::@5->main::@5] + //SEG28 [9] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@5->main::@5#0] -- register_copy + //SEG29 main::@5 b5: - //SEG31 [11] (byte~) main::$8 ← (const byte[]) main::line#0+(byte) 1 *idx (byte) main::i#2 [ main::nxt#9 main::i#2 main::$8 ] ( main:0 [ main::nxt#9 main::i#2 main::$8 ] ) -- aby=cowo1_staridx_xby + //SEG30 [10] (byte~) main::$7 ← (const byte[]) main::line#0+(byte) 1 *idx (byte) main::i#2 [ main::nxt#9 main::i#2 main::$7 ] ( main:0 [ main::nxt#9 main::i#2 main::$7 ] ) -- aby=cowo1_staridx_xby lda line+1,x - //SEG32 [12] *((const byte[]) main::line#0 + (byte) main::i#2) ← (byte~) main::$8 [ main::nxt#9 main::i#2 ] ( main:0 [ main::nxt#9 main::i#2 ] ) -- cowo1_staridx_xby=aby + //SEG31 [11] *((const byte[]) main::line#0 + (byte) main::i#2) ← (byte~) main::$7 [ main::nxt#9 main::i#2 ] ( main:0 [ main::nxt#9 main::i#2 ] ) -- cowo1_staridx_xby=aby sta line,x - //SEG33 [13] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby=_inc_xby + //SEG32 [12] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby=_inc_xby inx - //SEG34 [14] if((byte) main::i#1!=(byte) 39) goto main::@5 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby_neq_coby1_then_la1 + //SEG33 [13] if((byte) main::i#1!=(byte) 39) goto main::@5 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby_neq_coby1_then_la1 cpx #$27 bne b5 - //SEG35 main::@10 - //SEG36 [15] (byte) main::c#0 ← *((byte*) main::nxt#9) [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby=_star_zpptrby1 + //SEG34 main::@10 + //SEG35 [14] (byte) main::c#0 ← *((byte*) main::nxt#9) [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby=_star_zpptrby1 ldy #0 lda (nxt),y tax - //SEG37 [16] if((byte) main::c#0!=(byte) '@') goto main::@6 [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby_neq_coby1_then_la1 + //SEG36 [15] if((byte) main::c#0!=(byte) '@') goto main::@6 [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby_neq_coby1_then_la1 cpx #'@' bne b6 - //SEG38 main::@11 - //SEG39 [17] (byte) main::c#1 ← *((const byte*) TEXT#0) [ main::c#1 ] ( main:0 [ main::c#1 ] ) -- xby=_star_cowo1 + //SEG37 main::@11 + //SEG38 [16] (byte) main::c#1 ← *((const byte*) TEXT#0) [ main::c#1 ] ( main:0 [ main::c#1 ] ) -- xby=_star_cowo1 ldx TEXT - //SEG40 [18] phi from main::@11 to main::@6 [phi:main::@11->main::@6] - //SEG41 [18] phi (byte*) main::nxt#4 = (const byte*) TEXT#0 [phi:main::@11->main::@6#0] -- zpptrby1=cowo1 + //SEG39 [17] phi from main::@11 to main::@6 [phi:main::@11->main::@6] + //SEG40 [17] phi (byte*) main::nxt#4 = (const byte*) TEXT#0 [phi:main::@11->main::@6#0] -- zpptrby1=cowo1 lda #TEXT sta nxt+1 - //SEG42 [18] phi (byte) main::c#2 = (byte) main::c#1 [phi:main::@11->main::@6#1] -- register_copy - //SEG43 [18] phi from main::@10 to main::@6 [phi:main::@10->main::@6] - //SEG44 [18] phi (byte*) main::nxt#4 = (byte*) main::nxt#9 [phi:main::@10->main::@6#0] -- register_copy - //SEG45 [18] phi (byte) main::c#2 = (byte) main::c#0 [phi:main::@10->main::@6#1] -- register_copy - //SEG46 main::@6 + //SEG41 [17] phi (byte) main::c#2 = (byte) main::c#1 [phi:main::@11->main::@6#1] -- register_copy + //SEG42 [17] phi from main::@10 to main::@6 [phi:main::@10->main::@6] + //SEG43 [17] phi (byte*) main::nxt#4 = (byte*) main::nxt#9 [phi:main::@10->main::@6#0] -- register_copy + //SEG44 [17] phi (byte) main::c#2 = (byte) main::c#0 [phi:main::@10->main::@6#1] -- register_copy + //SEG45 main::@6 b6: - //SEG47 [19] *((const byte[]) main::line#0+(byte) 39) ← (byte) main::c#2 [ main::nxt#4 ] ( main:0 [ main::nxt#4 ] ) -- _star_cowo1=xby + //SEG46 [18] *((const byte[]) main::line#0+(byte) 39) ← (byte) main::c#2 [ main::nxt#4 ] ( main:0 [ main::nxt#4 ] ) -- _star_cowo1=xby stx line+$27 - //SEG48 [20] (byte*) main::nxt#1 ← ++ (byte*) main::nxt#4 [ main::nxt#1 ] ( main:0 [ main::nxt#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG47 [19] (byte*) main::nxt#1 ← ++ (byte*) main::nxt#4 [ main::nxt#1 ] ( main:0 [ main::nxt#1 ] ) -- zpptrby1=_inc_zpptrby1 inc nxt bne !+ inc nxt+1 !: - //SEG49 [21] phi from main::@6 to main::@4 [phi:main::@6->main::@4] - //SEG50 [21] phi (byte*) main::nxt#10 = (byte*) main::nxt#1 [phi:main::@6->main::@4#0] -- register_copy - //SEG51 [21] phi (byte) main::scroll#10 = (byte) 7 [phi:main::@6->main::@4#1] -- xby=coby1 + //SEG48 [20] phi from main::@6 to main::@4 [phi:main::@6->main::@4] + //SEG49 [20] phi (byte*) main::nxt#10 = (byte*) main::nxt#1 [phi:main::@6->main::@4#0] -- register_copy + //SEG50 [20] phi (byte) main::scroll#10 = (byte) 7 [phi:main::@6->main::@4#1] -- xby=coby1 ldx #7 - //SEG52 [21] phi from main::@8 to main::@4 [phi:main::@8->main::@4] - //SEG53 [21] phi (byte*) main::nxt#10 = (byte*) main::nxt#9 [phi:main::@8->main::@4#0] -- register_copy - //SEG54 [21] phi (byte) main::scroll#10 = (byte) main::scroll#1 [phi:main::@8->main::@4#1] -- register_copy - //SEG55 main::@4 + //SEG51 [20] phi from main::@8 to main::@4 [phi:main::@8->main::@4] + //SEG52 [20] phi (byte*) main::nxt#10 = (byte*) main::nxt#9 [phi:main::@8->main::@4#0] -- register_copy + //SEG53 [20] phi (byte) main::scroll#10 = (byte) main::scroll#1 [phi:main::@8->main::@4#1] -- register_copy + //SEG54 main::@4 b4: - //SEG56 [22] *((const byte*) SCROLL#0) ← (byte) main::scroll#10 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=xby + //SEG55 [21] *((const byte*) SCROLL#0) ← (byte) main::scroll#10 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=xby stx SCROLL - //SEG57 [23] (byte~) main::$12 ← *((const byte*) BGCOL#0) - (byte) 1 [ main::scroll#10 main::nxt#10 main::$12 ] ( main:0 [ main::scroll#10 main::nxt#10 main::$12 ] ) -- aby=_star_cowo1_minus_1 - lda BGCOL - sec - sbc #1 - //SEG58 [24] *((const byte*) BGCOL#0) ← (byte~) main::$12 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=aby - sta BGCOL - //SEG59 [25] if(true) goto main::@2 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- true_then_la1 + //SEG56 [22] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=_dec__star_cowo1 + dec BGCOL + //SEG57 [23] if(true) goto main::@2 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- true_then_la1 jmp b2 - //SEG60 main::@return - //SEG61 [26] return [ ] ( main:0 [ ] ) + //SEG58 main::@return + //SEG59 [24] return [ ] ( main:0 [ ] ) rts } -//SEG62 fillscreen +//SEG60 fillscreen fillscreen: { .const fill = $20 .label cursor = 2 - //SEG63 [28] phi from fillscreen to fillscreen::@1 [phi:fillscreen->fillscreen::@1] - //SEG64 [28] phi (byte*) fillscreen::cursor#2 = (const byte*) SCREEN#0 [phi:fillscreen->fillscreen::@1#0] -- zpptrby1=cowo1 + //SEG61 [26] phi from fillscreen to fillscreen::@1 [phi:fillscreen->fillscreen::@1] + //SEG62 [26] phi (byte*) fillscreen::cursor#2 = (const byte*) SCREEN#0 [phi:fillscreen->fillscreen::@1#0] -- zpptrby1=cowo1 lda #SCREEN sta cursor+1 - //SEG65 [28] phi from fillscreen::@1 to fillscreen::@1 [phi:fillscreen::@1->fillscreen::@1] - //SEG66 [28] phi (byte*) fillscreen::cursor#2 = (byte*) fillscreen::cursor#1 [phi:fillscreen::@1->fillscreen::@1#0] -- register_copy - //SEG67 fillscreen::@1 + //SEG63 [26] phi from fillscreen::@1 to fillscreen::@1 [phi:fillscreen::@1->fillscreen::@1] + //SEG64 [26] phi (byte*) fillscreen::cursor#2 = (byte*) fillscreen::cursor#1 [phi:fillscreen::@1->fillscreen::@1#0] -- register_copy + //SEG65 fillscreen::@1 b1: - //SEG68 [29] *((byte*) fillscreen::cursor#2) ← (const byte) fillscreen::fill#0 [ fillscreen::cursor#2 ] ( main:0::fillscreen:2 [ fillscreen::cursor#2 ] ) -- _star_zpptrby1=coby1 + //SEG66 [27] *((byte*) fillscreen::cursor#2) ← (const byte) fillscreen::fill#0 [ fillscreen::cursor#2 ] ( main:0::fillscreen:2 [ fillscreen::cursor#2 ] ) -- _star_zpptrby1=coby1 ldy #0 lda #fill sta (cursor),y - //SEG69 [30] (byte*) fillscreen::cursor#1 ← ++ (byte*) fillscreen::cursor#2 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG67 [28] (byte*) fillscreen::cursor#1 ← ++ (byte*) fillscreen::cursor#2 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1=_inc_zpptrby1 inc cursor bne !+ inc cursor+1 !: - //SEG70 [31] if((byte*) fillscreen::cursor#1<(const byte*) SCREEN#0+(word) 1000) goto fillscreen::@1 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1_lt_cowo1_then_la1 + //SEG68 [29] if((byte*) fillscreen::cursor#1<(const byte*) SCREEN#0+(word) 1000) goto fillscreen::@1 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1_lt_cowo1_then_la1 lda cursor+1 cmp #>SCREEN+$3e8 bcc b1 @@ -4644,8 +4514,8 @@ fillscreen: { cmp #fillscreen] + //SEG9 [25] phi from main to fillscreen [phi:main->fillscreen] jsr fillscreen //SEG10 [3] phi from main to main::@2 [phi:main->main::@2] //SEG11 [3] phi (byte*) main::nxt#9 = (const byte*) TEXT#0 [phi:main->main::@2#0] -- zpptrby1=cowo1 @@ -4700,110 +4570,102 @@ main: { cmp #$ff bne b3 //SEG21 main::@8 - //SEG22 [6] (byte~) main::$4 ← *((const byte*) BGCOL#0) + (byte) 1 [ main::scroll#7 main::nxt#9 main::$4 ] ( main:0 [ main::scroll#7 main::nxt#9 main::$4 ] ) -- aby=_star_cowo1_plus_1 - lda BGCOL - clc - adc #1 - //SEG23 [7] *((const byte*) BGCOL#0) ← (byte~) main::$4 [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] ) -- _star_cowo1=aby - sta BGCOL - //SEG24 [8] (byte) main::scroll#1 ← -- (byte) main::scroll#7 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby=_dec_xby + //SEG22 [6] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] ) -- _star_cowo1=_inc__star_cowo1 + inc BGCOL + //SEG23 [7] (byte) main::scroll#1 ← -- (byte) main::scroll#7 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby=_dec_xby dex - //SEG25 [9] if((byte) main::scroll#1!=(byte) 255) goto main::@4 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby_neq_coby1_then_la1 + //SEG24 [8] if((byte) main::scroll#1!=(byte) 255) goto main::@4 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby_neq_coby1_then_la1 cpx #$ff bne b4 - //SEG26 [10] phi from main::@8 to main::@5 [phi:main::@8->main::@5] - //SEG27 [10] phi (byte) main::i#2 = (byte) 0 [phi:main::@8->main::@5#0] -- xby=coby1 + //SEG25 [9] phi from main::@8 to main::@5 [phi:main::@8->main::@5] + //SEG26 [9] phi (byte) main::i#2 = (byte) 0 [phi:main::@8->main::@5#0] -- xby=coby1 ldx #0 - //SEG28 [10] phi from main::@5 to main::@5 [phi:main::@5->main::@5] - //SEG29 [10] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@5->main::@5#0] -- register_copy - //SEG30 main::@5 + //SEG27 [9] phi from main::@5 to main::@5 [phi:main::@5->main::@5] + //SEG28 [9] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@5->main::@5#0] -- register_copy + //SEG29 main::@5 b5: - //SEG31 [11] (byte~) main::$8 ← (const byte[]) main::line#0+(byte) 1 *idx (byte) main::i#2 [ main::nxt#9 main::i#2 main::$8 ] ( main:0 [ main::nxt#9 main::i#2 main::$8 ] ) -- aby=cowo1_staridx_xby + //SEG30 [10] (byte~) main::$7 ← (const byte[]) main::line#0+(byte) 1 *idx (byte) main::i#2 [ main::nxt#9 main::i#2 main::$7 ] ( main:0 [ main::nxt#9 main::i#2 main::$7 ] ) -- aby=cowo1_staridx_xby lda line+1,x - //SEG32 [12] *((const byte[]) main::line#0 + (byte) main::i#2) ← (byte~) main::$8 [ main::nxt#9 main::i#2 ] ( main:0 [ main::nxt#9 main::i#2 ] ) -- cowo1_staridx_xby=aby + //SEG31 [11] *((const byte[]) main::line#0 + (byte) main::i#2) ← (byte~) main::$7 [ main::nxt#9 main::i#2 ] ( main:0 [ main::nxt#9 main::i#2 ] ) -- cowo1_staridx_xby=aby sta line,x - //SEG33 [13] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby=_inc_xby + //SEG32 [12] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby=_inc_xby inx - //SEG34 [14] if((byte) main::i#1!=(byte) 39) goto main::@5 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby_neq_coby1_then_la1 + //SEG33 [13] if((byte) main::i#1!=(byte) 39) goto main::@5 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby_neq_coby1_then_la1 cpx #$27 bne b5 - //SEG35 main::@10 - //SEG36 [15] (byte) main::c#0 ← *((byte*) main::nxt#9) [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby=_star_zpptrby1 + //SEG34 main::@10 + //SEG35 [14] (byte) main::c#0 ← *((byte*) main::nxt#9) [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby=_star_zpptrby1 ldy #0 lda (nxt),y tax - //SEG37 [16] if((byte) main::c#0!=(byte) '@') goto main::@6 [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby_neq_coby1_then_la1 + //SEG36 [15] if((byte) main::c#0!=(byte) '@') goto main::@6 [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby_neq_coby1_then_la1 cpx #'@' bne b6 - //SEG38 main::@11 - //SEG39 [17] (byte) main::c#1 ← *((const byte*) TEXT#0) [ main::c#1 ] ( main:0 [ main::c#1 ] ) -- xby=_star_cowo1 + //SEG37 main::@11 + //SEG38 [16] (byte) main::c#1 ← *((const byte*) TEXT#0) [ main::c#1 ] ( main:0 [ main::c#1 ] ) -- xby=_star_cowo1 ldx TEXT - //SEG40 [18] phi from main::@11 to main::@6 [phi:main::@11->main::@6] - //SEG41 [18] phi (byte*) main::nxt#4 = (const byte*) TEXT#0 [phi:main::@11->main::@6#0] -- zpptrby1=cowo1 + //SEG39 [17] phi from main::@11 to main::@6 [phi:main::@11->main::@6] + //SEG40 [17] phi (byte*) main::nxt#4 = (const byte*) TEXT#0 [phi:main::@11->main::@6#0] -- zpptrby1=cowo1 lda #TEXT sta nxt+1 - //SEG42 [18] phi (byte) main::c#2 = (byte) main::c#1 [phi:main::@11->main::@6#1] -- register_copy - //SEG43 [18] phi from main::@10 to main::@6 [phi:main::@10->main::@6] - //SEG44 [18] phi (byte*) main::nxt#4 = (byte*) main::nxt#9 [phi:main::@10->main::@6#0] -- register_copy - //SEG45 [18] phi (byte) main::c#2 = (byte) main::c#0 [phi:main::@10->main::@6#1] -- register_copy - //SEG46 main::@6 + //SEG41 [17] phi (byte) main::c#2 = (byte) main::c#1 [phi:main::@11->main::@6#1] -- register_copy + //SEG42 [17] phi from main::@10 to main::@6 [phi:main::@10->main::@6] + //SEG43 [17] phi (byte*) main::nxt#4 = (byte*) main::nxt#9 [phi:main::@10->main::@6#0] -- register_copy + //SEG44 [17] phi (byte) main::c#2 = (byte) main::c#0 [phi:main::@10->main::@6#1] -- register_copy + //SEG45 main::@6 b6: - //SEG47 [19] *((const byte[]) main::line#0+(byte) 39) ← (byte) main::c#2 [ main::nxt#4 ] ( main:0 [ main::nxt#4 ] ) -- _star_cowo1=xby + //SEG46 [18] *((const byte[]) main::line#0+(byte) 39) ← (byte) main::c#2 [ main::nxt#4 ] ( main:0 [ main::nxt#4 ] ) -- _star_cowo1=xby stx line+$27 - //SEG48 [20] (byte*) main::nxt#1 ← ++ (byte*) main::nxt#4 [ main::nxt#1 ] ( main:0 [ main::nxt#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG47 [19] (byte*) main::nxt#1 ← ++ (byte*) main::nxt#4 [ main::nxt#1 ] ( main:0 [ main::nxt#1 ] ) -- zpptrby1=_inc_zpptrby1 inc nxt bne !+ inc nxt+1 !: - //SEG49 [21] phi from main::@6 to main::@4 [phi:main::@6->main::@4] - //SEG50 [21] phi (byte*) main::nxt#10 = (byte*) main::nxt#1 [phi:main::@6->main::@4#0] -- register_copy - //SEG51 [21] phi (byte) main::scroll#10 = (byte) 7 [phi:main::@6->main::@4#1] -- xby=coby1 + //SEG48 [20] phi from main::@6 to main::@4 [phi:main::@6->main::@4] + //SEG49 [20] phi (byte*) main::nxt#10 = (byte*) main::nxt#1 [phi:main::@6->main::@4#0] -- register_copy + //SEG50 [20] phi (byte) main::scroll#10 = (byte) 7 [phi:main::@6->main::@4#1] -- xby=coby1 ldx #7 - //SEG52 [21] phi from main::@8 to main::@4 [phi:main::@8->main::@4] - //SEG53 [21] phi (byte*) main::nxt#10 = (byte*) main::nxt#9 [phi:main::@8->main::@4#0] -- register_copy - //SEG54 [21] phi (byte) main::scroll#10 = (byte) main::scroll#1 [phi:main::@8->main::@4#1] -- register_copy - //SEG55 main::@4 + //SEG51 [20] phi from main::@8 to main::@4 [phi:main::@8->main::@4] + //SEG52 [20] phi (byte*) main::nxt#10 = (byte*) main::nxt#9 [phi:main::@8->main::@4#0] -- register_copy + //SEG53 [20] phi (byte) main::scroll#10 = (byte) main::scroll#1 [phi:main::@8->main::@4#1] -- register_copy + //SEG54 main::@4 b4: - //SEG56 [22] *((const byte*) SCROLL#0) ← (byte) main::scroll#10 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=xby + //SEG55 [21] *((const byte*) SCROLL#0) ← (byte) main::scroll#10 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=xby stx SCROLL - //SEG57 [23] (byte~) main::$12 ← *((const byte*) BGCOL#0) - (byte) 1 [ main::scroll#10 main::nxt#10 main::$12 ] ( main:0 [ main::scroll#10 main::nxt#10 main::$12 ] ) -- aby=_star_cowo1_minus_1 - lda BGCOL - sec - sbc #1 - //SEG58 [24] *((const byte*) BGCOL#0) ← (byte~) main::$12 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=aby - sta BGCOL - //SEG59 [25] if(true) goto main::@2 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- true_then_la1 + //SEG56 [22] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=_dec__star_cowo1 + dec BGCOL + //SEG57 [23] if(true) goto main::@2 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- true_then_la1 jmp b2 - //SEG60 main::@return - //SEG61 [26] return [ ] ( main:0 [ ] ) + //SEG58 main::@return + //SEG59 [24] return [ ] ( main:0 [ ] ) rts } -//SEG62 fillscreen +//SEG60 fillscreen fillscreen: { .const fill = $20 .label cursor = 2 - //SEG63 [28] phi from fillscreen to fillscreen::@1 [phi:fillscreen->fillscreen::@1] - //SEG64 [28] phi (byte*) fillscreen::cursor#2 = (const byte*) SCREEN#0 [phi:fillscreen->fillscreen::@1#0] -- zpptrby1=cowo1 + //SEG61 [26] phi from fillscreen to fillscreen::@1 [phi:fillscreen->fillscreen::@1] + //SEG62 [26] phi (byte*) fillscreen::cursor#2 = (const byte*) SCREEN#0 [phi:fillscreen->fillscreen::@1#0] -- zpptrby1=cowo1 lda #SCREEN sta cursor+1 - //SEG65 [28] phi from fillscreen::@1 to fillscreen::@1 [phi:fillscreen::@1->fillscreen::@1] - //SEG66 [28] phi (byte*) fillscreen::cursor#2 = (byte*) fillscreen::cursor#1 [phi:fillscreen::@1->fillscreen::@1#0] -- register_copy - //SEG67 fillscreen::@1 + //SEG63 [26] phi from fillscreen::@1 to fillscreen::@1 [phi:fillscreen::@1->fillscreen::@1] + //SEG64 [26] phi (byte*) fillscreen::cursor#2 = (byte*) fillscreen::cursor#1 [phi:fillscreen::@1->fillscreen::@1#0] -- register_copy + //SEG65 fillscreen::@1 b1: - //SEG68 [29] *((byte*) fillscreen::cursor#2) ← (const byte) fillscreen::fill#0 [ fillscreen::cursor#2 ] ( main:0::fillscreen:2 [ fillscreen::cursor#2 ] ) -- _star_zpptrby1=coby1 + //SEG66 [27] *((byte*) fillscreen::cursor#2) ← (const byte) fillscreen::fill#0 [ fillscreen::cursor#2 ] ( main:0::fillscreen:2 [ fillscreen::cursor#2 ] ) -- _star_zpptrby1=coby1 ldy #0 lda #fill sta (cursor),y - //SEG69 [30] (byte*) fillscreen::cursor#1 ← ++ (byte*) fillscreen::cursor#2 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG67 [28] (byte*) fillscreen::cursor#1 ← ++ (byte*) fillscreen::cursor#2 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1=_inc_zpptrby1 inc cursor bne !+ inc cursor+1 !: - //SEG70 [31] if((byte*) fillscreen::cursor#1<(const byte*) SCREEN#0+(word) 1000) goto fillscreen::@1 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1_lt_cowo1_then_la1 + //SEG68 [29] if((byte*) fillscreen::cursor#1<(const byte*) SCREEN#0+(word) 1000) goto fillscreen::@1 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1_lt_cowo1_then_la1 lda cursor+1 cmp #>SCREEN+$3e8 bcc b1 @@ -4812,8 +4674,8 @@ fillscreen: { cmp #fillscreen] + //SEG9 [25] phi from main to fillscreen [phi:main->fillscreen] jsr fillscreen //SEG10 [3] phi from main to main::@2 [phi:main->main::@2] //SEG11 [3] phi (byte*) main::nxt#9 = (const byte*) TEXT#0 [phi:main->main::@2#0] -- zpptrby1=cowo1 @@ -4929,110 +4787,102 @@ main: { cmp #$ff bne b3 //SEG21 main::@8 - //SEG22 [6] (byte~) main::$4 ← *((const byte*) BGCOL#0) + (byte) 1 [ main::scroll#7 main::nxt#9 main::$4 ] ( main:0 [ main::scroll#7 main::nxt#9 main::$4 ] ) -- aby=_star_cowo1_plus_1 - lda BGCOL - clc - adc #1 - //SEG23 [7] *((const byte*) BGCOL#0) ← (byte~) main::$4 [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] ) -- _star_cowo1=aby - sta BGCOL - //SEG24 [8] (byte) main::scroll#1 ← -- (byte) main::scroll#7 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby=_dec_xby + //SEG22 [6] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] ) -- _star_cowo1=_inc__star_cowo1 + inc BGCOL + //SEG23 [7] (byte) main::scroll#1 ← -- (byte) main::scroll#7 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby=_dec_xby dex - //SEG25 [9] if((byte) main::scroll#1!=(byte) 255) goto main::@4 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby_neq_coby1_then_la1 + //SEG24 [8] if((byte) main::scroll#1!=(byte) 255) goto main::@4 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] ) -- xby_neq_coby1_then_la1 cpx #$ff bne b4 - //SEG26 [10] phi from main::@8 to main::@5 [phi:main::@8->main::@5] - //SEG27 [10] phi (byte) main::i#2 = (byte) 0 [phi:main::@8->main::@5#0] -- xby=coby1 + //SEG25 [9] phi from main::@8 to main::@5 [phi:main::@8->main::@5] + //SEG26 [9] phi (byte) main::i#2 = (byte) 0 [phi:main::@8->main::@5#0] -- xby=coby1 ldx #0 - //SEG28 [10] phi from main::@5 to main::@5 [phi:main::@5->main::@5] - //SEG29 [10] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@5->main::@5#0] -- register_copy - //SEG30 main::@5 + //SEG27 [9] phi from main::@5 to main::@5 [phi:main::@5->main::@5] + //SEG28 [9] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@5->main::@5#0] -- register_copy + //SEG29 main::@5 b5: - //SEG31 [11] (byte~) main::$8 ← (const byte[]) main::line#0+(byte) 1 *idx (byte) main::i#2 [ main::nxt#9 main::i#2 main::$8 ] ( main:0 [ main::nxt#9 main::i#2 main::$8 ] ) -- aby=cowo1_staridx_xby + //SEG30 [10] (byte~) main::$7 ← (const byte[]) main::line#0+(byte) 1 *idx (byte) main::i#2 [ main::nxt#9 main::i#2 main::$7 ] ( main:0 [ main::nxt#9 main::i#2 main::$7 ] ) -- aby=cowo1_staridx_xby lda line+1,x - //SEG32 [12] *((const byte[]) main::line#0 + (byte) main::i#2) ← (byte~) main::$8 [ main::nxt#9 main::i#2 ] ( main:0 [ main::nxt#9 main::i#2 ] ) -- cowo1_staridx_xby=aby + //SEG31 [11] *((const byte[]) main::line#0 + (byte) main::i#2) ← (byte~) main::$7 [ main::nxt#9 main::i#2 ] ( main:0 [ main::nxt#9 main::i#2 ] ) -- cowo1_staridx_xby=aby sta line,x - //SEG33 [13] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby=_inc_xby + //SEG32 [12] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby=_inc_xby inx - //SEG34 [14] if((byte) main::i#1!=(byte) 39) goto main::@5 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby_neq_coby1_then_la1 + //SEG33 [13] if((byte) main::i#1!=(byte) 39) goto main::@5 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] ) -- xby_neq_coby1_then_la1 cpx #$27 bne b5 - //SEG35 main::@10 - //SEG36 [15] (byte) main::c#0 ← *((byte*) main::nxt#9) [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby=_star_zpptrby1 + //SEG34 main::@10 + //SEG35 [14] (byte) main::c#0 ← *((byte*) main::nxt#9) [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby=_star_zpptrby1 ldy #0 lda (nxt),y tax - //SEG37 [16] if((byte) main::c#0!=(byte) '@') goto main::@6 [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby_neq_coby1_then_la1 + //SEG36 [15] if((byte) main::c#0!=(byte) '@') goto main::@6 [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] ) -- xby_neq_coby1_then_la1 cpx #'@' bne b6 - //SEG38 main::@11 - //SEG39 [17] (byte) main::c#1 ← *((const byte*) TEXT#0) [ main::c#1 ] ( main:0 [ main::c#1 ] ) -- xby=_star_cowo1 + //SEG37 main::@11 + //SEG38 [16] (byte) main::c#1 ← *((const byte*) TEXT#0) [ main::c#1 ] ( main:0 [ main::c#1 ] ) -- xby=_star_cowo1 ldx TEXT - //SEG40 [18] phi from main::@11 to main::@6 [phi:main::@11->main::@6] - //SEG41 [18] phi (byte*) main::nxt#4 = (const byte*) TEXT#0 [phi:main::@11->main::@6#0] -- zpptrby1=cowo1 + //SEG39 [17] phi from main::@11 to main::@6 [phi:main::@11->main::@6] + //SEG40 [17] phi (byte*) main::nxt#4 = (const byte*) TEXT#0 [phi:main::@11->main::@6#0] -- zpptrby1=cowo1 lda #TEXT sta nxt+1 - //SEG42 [18] phi (byte) main::c#2 = (byte) main::c#1 [phi:main::@11->main::@6#1] -- register_copy - //SEG43 [18] phi from main::@10 to main::@6 [phi:main::@10->main::@6] - //SEG44 [18] phi (byte*) main::nxt#4 = (byte*) main::nxt#9 [phi:main::@10->main::@6#0] -- register_copy - //SEG45 [18] phi (byte) main::c#2 = (byte) main::c#0 [phi:main::@10->main::@6#1] -- register_copy - //SEG46 main::@6 + //SEG41 [17] phi (byte) main::c#2 = (byte) main::c#1 [phi:main::@11->main::@6#1] -- register_copy + //SEG42 [17] phi from main::@10 to main::@6 [phi:main::@10->main::@6] + //SEG43 [17] phi (byte*) main::nxt#4 = (byte*) main::nxt#9 [phi:main::@10->main::@6#0] -- register_copy + //SEG44 [17] phi (byte) main::c#2 = (byte) main::c#0 [phi:main::@10->main::@6#1] -- register_copy + //SEG45 main::@6 b6: - //SEG47 [19] *((const byte[]) main::line#0+(byte) 39) ← (byte) main::c#2 [ main::nxt#4 ] ( main:0 [ main::nxt#4 ] ) -- _star_cowo1=xby + //SEG46 [18] *((const byte[]) main::line#0+(byte) 39) ← (byte) main::c#2 [ main::nxt#4 ] ( main:0 [ main::nxt#4 ] ) -- _star_cowo1=xby stx line+$27 - //SEG48 [20] (byte*) main::nxt#1 ← ++ (byte*) main::nxt#4 [ main::nxt#1 ] ( main:0 [ main::nxt#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG47 [19] (byte*) main::nxt#1 ← ++ (byte*) main::nxt#4 [ main::nxt#1 ] ( main:0 [ main::nxt#1 ] ) -- zpptrby1=_inc_zpptrby1 inc nxt bne !+ inc nxt+1 !: - //SEG49 [21] phi from main::@6 to main::@4 [phi:main::@6->main::@4] - //SEG50 [21] phi (byte*) main::nxt#10 = (byte*) main::nxt#1 [phi:main::@6->main::@4#0] -- register_copy - //SEG51 [21] phi (byte) main::scroll#10 = (byte) 7 [phi:main::@6->main::@4#1] -- xby=coby1 + //SEG48 [20] phi from main::@6 to main::@4 [phi:main::@6->main::@4] + //SEG49 [20] phi (byte*) main::nxt#10 = (byte*) main::nxt#1 [phi:main::@6->main::@4#0] -- register_copy + //SEG50 [20] phi (byte) main::scroll#10 = (byte) 7 [phi:main::@6->main::@4#1] -- xby=coby1 ldx #7 - //SEG52 [21] phi from main::@8 to main::@4 [phi:main::@8->main::@4] - //SEG53 [21] phi (byte*) main::nxt#10 = (byte*) main::nxt#9 [phi:main::@8->main::@4#0] -- register_copy - //SEG54 [21] phi (byte) main::scroll#10 = (byte) main::scroll#1 [phi:main::@8->main::@4#1] -- register_copy - //SEG55 main::@4 + //SEG51 [20] phi from main::@8 to main::@4 [phi:main::@8->main::@4] + //SEG52 [20] phi (byte*) main::nxt#10 = (byte*) main::nxt#9 [phi:main::@8->main::@4#0] -- register_copy + //SEG53 [20] phi (byte) main::scroll#10 = (byte) main::scroll#1 [phi:main::@8->main::@4#1] -- register_copy + //SEG54 main::@4 b4: - //SEG56 [22] *((const byte*) SCROLL#0) ← (byte) main::scroll#10 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=xby + //SEG55 [21] *((const byte*) SCROLL#0) ← (byte) main::scroll#10 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=xby stx SCROLL - //SEG57 [23] (byte~) main::$12 ← *((const byte*) BGCOL#0) - (byte) 1 [ main::scroll#10 main::nxt#10 main::$12 ] ( main:0 [ main::scroll#10 main::nxt#10 main::$12 ] ) -- aby=_star_cowo1_minus_1 - lda BGCOL - sec - sbc #1 - //SEG58 [24] *((const byte*) BGCOL#0) ← (byte~) main::$12 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=aby - sta BGCOL - //SEG59 [25] if(true) goto main::@2 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- true_then_la1 + //SEG56 [22] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- _star_cowo1=_dec__star_cowo1 + dec BGCOL + //SEG57 [23] if(true) goto main::@2 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] ) -- true_then_la1 jmp b2 - //SEG60 main::@return - //SEG61 [26] return [ ] ( main:0 [ ] ) + //SEG58 main::@return + //SEG59 [24] return [ ] ( main:0 [ ] ) rts } -//SEG62 fillscreen +//SEG60 fillscreen fillscreen: { .const fill = $20 .label cursor = 2 - //SEG63 [28] phi from fillscreen to fillscreen::@1 [phi:fillscreen->fillscreen::@1] - //SEG64 [28] phi (byte*) fillscreen::cursor#2 = (const byte*) SCREEN#0 [phi:fillscreen->fillscreen::@1#0] -- zpptrby1=cowo1 + //SEG61 [26] phi from fillscreen to fillscreen::@1 [phi:fillscreen->fillscreen::@1] + //SEG62 [26] phi (byte*) fillscreen::cursor#2 = (const byte*) SCREEN#0 [phi:fillscreen->fillscreen::@1#0] -- zpptrby1=cowo1 lda #SCREEN sta cursor+1 - //SEG65 [28] phi from fillscreen::@1 to fillscreen::@1 [phi:fillscreen::@1->fillscreen::@1] - //SEG66 [28] phi (byte*) fillscreen::cursor#2 = (byte*) fillscreen::cursor#1 [phi:fillscreen::@1->fillscreen::@1#0] -- register_copy - //SEG67 fillscreen::@1 + //SEG63 [26] phi from fillscreen::@1 to fillscreen::@1 [phi:fillscreen::@1->fillscreen::@1] + //SEG64 [26] phi (byte*) fillscreen::cursor#2 = (byte*) fillscreen::cursor#1 [phi:fillscreen::@1->fillscreen::@1#0] -- register_copy + //SEG65 fillscreen::@1 b1: - //SEG68 [29] *((byte*) fillscreen::cursor#2) ← (const byte) fillscreen::fill#0 [ fillscreen::cursor#2 ] ( main:0::fillscreen:2 [ fillscreen::cursor#2 ] ) -- _star_zpptrby1=coby1 + //SEG66 [27] *((byte*) fillscreen::cursor#2) ← (const byte) fillscreen::fill#0 [ fillscreen::cursor#2 ] ( main:0::fillscreen:2 [ fillscreen::cursor#2 ] ) -- _star_zpptrby1=coby1 ldy #0 lda #fill sta (cursor),y - //SEG69 [30] (byte*) fillscreen::cursor#1 ← ++ (byte*) fillscreen::cursor#2 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1=_inc_zpptrby1 + //SEG67 [28] (byte*) fillscreen::cursor#1 ← ++ (byte*) fillscreen::cursor#2 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1=_inc_zpptrby1 inc cursor bne !+ inc cursor+1 !: - //SEG70 [31] if((byte*) fillscreen::cursor#1<(const byte*) SCREEN#0+(word) 1000) goto fillscreen::@1 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1_lt_cowo1_then_la1 + //SEG68 [29] if((byte*) fillscreen::cursor#1<(const byte*) SCREEN#0+(word) 1000) goto fillscreen::@1 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] ) -- zpptrby1_lt_cowo1_then_la1 lda cursor+1 cmp #>SCREEN+$3e8 bcc b1 @@ -5041,8 +4891,8 @@ fillscreen: { cmp #