|
|
|
@ -25,9 +25,9 @@ main::@return: scope:[main] from main::@3
|
|
|
|
|
to:@return
|
|
|
|
|
line: scope:[line] from main::@2 main::@3
|
|
|
|
|
[10] (byte) line::y#0 ← phi( main::@2/(byte) 0 main::@3/(byte) 20 ) [ line::x1#2 line::x#0 line::y1#2 line::y#0 ]
|
|
|
|
|
[10] (byte) line::y1#2 ← phi( main::@2/(byte) 10 main::@3/(byte) 40 ) [ line::x1#2 line::x#0 line::y1#2 line::y#0 ]
|
|
|
|
|
[10] (byte) line::y1#2 ← phi( main::@2/(byte) 100 main::@3/(byte) 140 ) [ line::x1#2 line::x#0 line::y1#2 line::y#0 ]
|
|
|
|
|
[10] (byte) line::x#0 ← phi( main::@2/(byte) 0 main::@3/(byte) 10 ) [ line::x1#2 line::x#0 line::y1#2 line::y#0 ]
|
|
|
|
|
[10] (byte) line::x1#2 ← phi( main::@2/(byte) 20 main::@3/(byte) 40 ) [ line::x1#2 line::x#0 line::y1#2 line::y#0 ]
|
|
|
|
|
[10] (byte) line::x1#2 ← phi( main::@2/(byte) 200 main::@3/(byte) 140 ) [ line::x1#2 line::x#0 line::y1#2 line::y#0 ]
|
|
|
|
|
[11] (byte) line::xd#0 ← (byte) line::x1#2 - (byte) line::x#0 [ line::x1#2 line::x#0 line::y1#2 line::y#0 line::xd#0 ]
|
|
|
|
|
[12] (byte) line::yd#0 ← (byte) line::y1#2 - (byte) line::y#0 [ line::x1#2 line::x#0 line::y#0 line::xd#0 line::yd#0 ]
|
|
|
|
|
[13] (byte) line::e#0 ← (byte) line::yd#0 >> (byte) 1 [ line::x1#2 line::x#0 line::y#0 line::xd#0 line::yd#0 line::e#0 ]
|
|
|
|
@ -59,80 +59,81 @@ line::@return: scope:[line] from line::@2
|
|
|
|
|
[26] return [ ]
|
|
|
|
|
to:@return
|
|
|
|
|
plot: scope:[plot] from line::@1
|
|
|
|
|
[27] (byte~) plot::$0 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ]
|
|
|
|
|
[28] (byte~) plot::$1 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#0 [ plot::x#0 plot::y#0 plot::$0 plot::$1 ]
|
|
|
|
|
[29] (byte~) plot::$2 ← (byte~) plot::$0 + (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::$2 ]
|
|
|
|
|
[30] (byte*) plot::plotter#1 ← (const byte*) BITMAP#0 lo= (byte~) plot::$2 [ plot::x#0 plot::y#0 plot::plotter#1 ]
|
|
|
|
|
[31] (byte~) plot::$3 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::plotter#1 plot::$3 ]
|
|
|
|
|
[32] (byte~) plot::$4 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#0 [ plot::x#0 plot::plotter#1 plot::$3 plot::$4 ]
|
|
|
|
|
[33] (byte~) plot::$5 ← (byte~) plot::$3 + (byte~) plot::$4 [ plot::x#0 plot::plotter#1 plot::$5 ]
|
|
|
|
|
[34] (byte*) plot::plotter#2 ← (byte*) plot::plotter#1 hi= (byte~) plot::$5 [ plot::x#0 plot::plotter#2 ]
|
|
|
|
|
[35] (byte~) plot::$6 ← * (byte*) plot::plotter#2 [ plot::x#0 plot::plotter#2 plot::$6 ]
|
|
|
|
|
[36] (byte~) plot::$7 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#2 plot::$6 plot::$7 ]
|
|
|
|
|
[37] (byte~) plot::$8 ← (byte~) plot::$6 | (byte~) plot::$7 [ plot::plotter#2 plot::$8 ]
|
|
|
|
|
[38] *((byte*) plot::plotter#2) ← (byte~) plot::$8 [ ]
|
|
|
|
|
[27] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ]
|
|
|
|
|
[28] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#0 plot::y#0 plot::plotter_x#1 ]
|
|
|
|
|
[29] (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 ]
|
|
|
|
|
[30] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ]
|
|
|
|
|
[31] (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 ]
|
|
|
|
|
[32] (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 ]
|
|
|
|
|
[33] (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 ]
|
|
|
|
|
[34] (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 ]
|
|
|
|
|
[35] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ]
|
|
|
|
|
[36] (byte~) plot::$5 ← * (byte*) plot::plotter#0 [ plot::x#0 plot::plotter#0 plot::$5 ]
|
|
|
|
|
[37] (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#0 plot::$5 plot::$6 ]
|
|
|
|
|
[38] (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 [ plot::plotter#0 plot::$7 ]
|
|
|
|
|
[39] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ]
|
|
|
|
|
to:plot::@return
|
|
|
|
|
plot::@return: scope:[plot] from plot
|
|
|
|
|
[39] return [ ]
|
|
|
|
|
[40] return [ ]
|
|
|
|
|
to:@return
|
|
|
|
|
initplottables: scope:[initplottables] from main::@1
|
|
|
|
|
[40] phi() [ ]
|
|
|
|
|
[41] phi() [ ]
|
|
|
|
|
to:initplottables::@1
|
|
|
|
|
initplottables::@1: scope:[initplottables] from initplottables initplottables::@2
|
|
|
|
|
[41] (byte) initplottables::bit#3 ← phi( initplottables/(byte) 128 initplottables::@2/(byte) initplottables::bit#4 ) [ initplottables::x#2 initplottables::bit#3 ]
|
|
|
|
|
[41] (byte) initplottables::x#2 ← phi( initplottables/(byte) 0 initplottables::@2/(byte) initplottables::x#1 ) [ initplottables::x#2 initplottables::bit#3 ]
|
|
|
|
|
[42] (byte~) initplottables::$0 ← (byte) initplottables::x#2 & (byte) 248 [ initplottables::x#2 initplottables::bit#3 initplottables::$0 ]
|
|
|
|
|
[43] *((const byte[]) plot_xlo#0 + (byte) initplottables::x#2) ← (byte~) initplottables::$0 [ initplottables::x#2 initplottables::bit#3 ]
|
|
|
|
|
[44] *((const byte[]) plot_xhi#0 + (byte) initplottables::x#2) ← >(const byte*) BITMAP#0 [ initplottables::x#2 initplottables::bit#3 ]
|
|
|
|
|
[45] *((const byte[]) plot_bit#0 + (byte) initplottables::x#2) ← (byte) initplottables::bit#3 [ initplottables::x#2 initplottables::bit#3 ]
|
|
|
|
|
[46] (byte) initplottables::bit#1 ← (byte) initplottables::bit#3 >> (byte) 1 [ initplottables::x#2 initplottables::bit#1 ]
|
|
|
|
|
[47] if((byte) initplottables::bit#1!=(byte) 0) goto initplottables::@10 [ initplottables::x#2 ]
|
|
|
|
|
[42] (byte) initplottables::bit#3 ← phi( initplottables/(byte) 128 initplottables::@2/(byte) initplottables::bit#4 ) [ initplottables::x#2 initplottables::bit#3 ]
|
|
|
|
|
[42] (byte) initplottables::x#2 ← phi( initplottables/(byte) 0 initplottables::@2/(byte) initplottables::x#1 ) [ initplottables::x#2 initplottables::bit#3 ]
|
|
|
|
|
[43] (byte~) initplottables::$0 ← (byte) initplottables::x#2 & (byte) 248 [ initplottables::x#2 initplottables::bit#3 initplottables::$0 ]
|
|
|
|
|
[44] *((const byte[]) plot_xlo#0 + (byte) initplottables::x#2) ← (byte~) initplottables::$0 [ initplottables::x#2 initplottables::bit#3 ]
|
|
|
|
|
[45] *((const byte[]) plot_xhi#0 + (byte) initplottables::x#2) ← >(const byte*) BITMAP#0 [ initplottables::x#2 initplottables::bit#3 ]
|
|
|
|
|
[46] *((const byte[]) plot_bit#0 + (byte) initplottables::x#2) ← (byte) initplottables::bit#3 [ initplottables::x#2 initplottables::bit#3 ]
|
|
|
|
|
[47] (byte) initplottables::bit#1 ← (byte) initplottables::bit#3 >> (byte) 1 [ initplottables::x#2 initplottables::bit#1 ]
|
|
|
|
|
[48] if((byte) initplottables::bit#1!=(byte) 0) goto initplottables::@10 [ initplottables::x#2 ]
|
|
|
|
|
to:initplottables::@2
|
|
|
|
|
initplottables::@2: scope:[initplottables] from initplottables::@1 initplottables::@10
|
|
|
|
|
[48] (byte) initplottables::bit#4 ← phi( initplottables::@10/(byte) initplottables::bit#1 initplottables::@1/(byte) 128 ) [ initplottables::x#2 initplottables::bit#4 ]
|
|
|
|
|
[49] (byte) initplottables::x#1 ← ++ (byte) initplottables::x#2 [ initplottables::x#1 initplottables::bit#4 ]
|
|
|
|
|
[50] if((byte) initplottables::x#1!=(byte) 0) goto initplottables::@1 [ initplottables::x#1 initplottables::bit#4 ]
|
|
|
|
|
[49] (byte) initplottables::bit#4 ← phi( initplottables::@10/(byte) initplottables::bit#1 initplottables::@1/(byte) 128 ) [ initplottables::x#2 initplottables::bit#4 ]
|
|
|
|
|
[50] (byte) initplottables::x#1 ← ++ (byte) initplottables::x#2 [ initplottables::x#1 initplottables::bit#4 ]
|
|
|
|
|
[51] if((byte) initplottables::x#1!=(byte) 0) goto initplottables::@1 [ initplottables::x#1 initplottables::bit#4 ]
|
|
|
|
|
to:initplottables::@3
|
|
|
|
|
initplottables::@3: scope:[initplottables] from initplottables::@2 initplottables::@4
|
|
|
|
|
[51] (byte*) initplottables::yoffs#2 ← phi( initplottables::@4/(byte*) initplottables::yoffs#4 initplottables::@2/(byte) 0 ) [ initplottables::y#2 initplottables::yoffs#2 ]
|
|
|
|
|
[51] (byte) initplottables::y#2 ← phi( initplottables::@4/(byte) initplottables::y#1 initplottables::@2/(byte) 0 ) [ initplottables::y#2 initplottables::yoffs#2 ]
|
|
|
|
|
[52] (byte~) initplottables::$6 ← (byte) initplottables::y#2 & (byte) 7 [ initplottables::y#2 initplottables::yoffs#2 initplottables::$6 ]
|
|
|
|
|
[53] (byte~) initplottables::$7 ← < (byte*) initplottables::yoffs#2 [ initplottables::y#2 initplottables::yoffs#2 initplottables::$6 initplottables::$7 ]
|
|
|
|
|
[54] (byte~) initplottables::$8 ← (byte~) initplottables::$6 | (byte~) initplottables::$7 [ initplottables::y#2 initplottables::yoffs#2 initplottables::$8 ]
|
|
|
|
|
[55] *((const byte[]) plot_ylo#0 + (byte) initplottables::y#2) ← (byte~) initplottables::$8 [ initplottables::y#2 initplottables::yoffs#2 ]
|
|
|
|
|
[56] (byte~) initplottables::$9 ← > (byte*) initplottables::yoffs#2 [ initplottables::y#2 initplottables::yoffs#2 initplottables::$9 ]
|
|
|
|
|
[57] *((const byte[]) plot_yhi#0 + (byte) initplottables::y#2) ← (byte~) initplottables::$9 [ initplottables::y#2 initplottables::yoffs#2 ]
|
|
|
|
|
[58] (byte~) initplottables::$10 ← (byte) initplottables::y#2 & (byte) 7 [ initplottables::y#2 initplottables::yoffs#2 initplottables::$10 ]
|
|
|
|
|
[59] if((byte~) initplottables::$10!=(byte) 7) goto initplottables::@4 [ initplottables::y#2 initplottables::yoffs#2 ]
|
|
|
|
|
[52] (byte*) initplottables::yoffs#2 ← phi( initplottables::@4/(byte*) initplottables::yoffs#4 initplottables::@2/(byte) 0 ) [ initplottables::y#2 initplottables::yoffs#2 ]
|
|
|
|
|
[52] (byte) initplottables::y#2 ← phi( initplottables::@4/(byte) initplottables::y#1 initplottables::@2/(byte) 0 ) [ initplottables::y#2 initplottables::yoffs#2 ]
|
|
|
|
|
[53] (byte~) initplottables::$6 ← (byte) initplottables::y#2 & (byte) 7 [ initplottables::y#2 initplottables::yoffs#2 initplottables::$6 ]
|
|
|
|
|
[54] (byte~) initplottables::$7 ← < (byte*) initplottables::yoffs#2 [ initplottables::y#2 initplottables::yoffs#2 initplottables::$6 initplottables::$7 ]
|
|
|
|
|
[55] (byte~) initplottables::$8 ← (byte~) initplottables::$6 | (byte~) initplottables::$7 [ initplottables::y#2 initplottables::yoffs#2 initplottables::$8 ]
|
|
|
|
|
[56] *((const byte[]) plot_ylo#0 + (byte) initplottables::y#2) ← (byte~) initplottables::$8 [ initplottables::y#2 initplottables::yoffs#2 ]
|
|
|
|
|
[57] (byte~) initplottables::$9 ← > (byte*) initplottables::yoffs#2 [ initplottables::y#2 initplottables::yoffs#2 initplottables::$9 ]
|
|
|
|
|
[58] *((const byte[]) plot_yhi#0 + (byte) initplottables::y#2) ← (byte~) initplottables::$9 [ initplottables::y#2 initplottables::yoffs#2 ]
|
|
|
|
|
[59] (byte~) initplottables::$10 ← (byte) initplottables::y#2 & (byte) 7 [ initplottables::y#2 initplottables::yoffs#2 initplottables::$10 ]
|
|
|
|
|
[60] if((byte~) initplottables::$10!=(byte) 7) goto initplottables::@4 [ initplottables::y#2 initplottables::yoffs#2 ]
|
|
|
|
|
to:initplottables::@7
|
|
|
|
|
initplottables::@7: scope:[initplottables] from initplottables::@3
|
|
|
|
|
[60] (byte*) initplottables::yoffs#1 ← (byte*) initplottables::yoffs#2 + (word) 320 [ initplottables::y#2 initplottables::yoffs#1 ]
|
|
|
|
|
[61] (byte*) initplottables::yoffs#1 ← (byte*) initplottables::yoffs#2 + (word) 320 [ initplottables::y#2 initplottables::yoffs#1 ]
|
|
|
|
|
to:initplottables::@4
|
|
|
|
|
initplottables::@4: scope:[initplottables] from initplottables::@3 initplottables::@7
|
|
|
|
|
[61] (byte*) initplottables::yoffs#4 ← phi( initplottables::@3/(byte*) initplottables::yoffs#2 initplottables::@7/(byte*) initplottables::yoffs#1 ) [ initplottables::y#2 initplottables::yoffs#4 ]
|
|
|
|
|
[62] (byte) initplottables::y#1 ← ++ (byte) initplottables::y#2 [ initplottables::y#1 initplottables::yoffs#4 ]
|
|
|
|
|
[63] if((byte) initplottables::y#1!=(byte) 0) goto initplottables::@3 [ initplottables::y#1 initplottables::yoffs#4 ]
|
|
|
|
|
[62] (byte*) initplottables::yoffs#4 ← phi( initplottables::@3/(byte*) initplottables::yoffs#2 initplottables::@7/(byte*) initplottables::yoffs#1 ) [ initplottables::y#2 initplottables::yoffs#4 ]
|
|
|
|
|
[63] (byte) initplottables::y#1 ← ++ (byte) initplottables::y#2 [ initplottables::y#1 initplottables::yoffs#4 ]
|
|
|
|
|
[64] if((byte) initplottables::y#1!=(byte) 0) goto initplottables::@3 [ initplottables::y#1 initplottables::yoffs#4 ]
|
|
|
|
|
to:initplottables::@return
|
|
|
|
|
initplottables::@return: scope:[initplottables] from initplottables::@4
|
|
|
|
|
[64] return [ ]
|
|
|
|
|
[65] return [ ]
|
|
|
|
|
to:@return
|
|
|
|
|
initplottables::@10: scope:[initplottables] from initplottables::@1
|
|
|
|
|
to:initplottables::@2
|
|
|
|
|
initscreen: scope:[initscreen] from main
|
|
|
|
|
[65] phi() [ ]
|
|
|
|
|
[66] phi() [ ]
|
|
|
|
|
to:initscreen::@1
|
|
|
|
|
initscreen::@1: scope:[initscreen] from initscreen initscreen::@1
|
|
|
|
|
[66] (byte*) initscreen::b#2 ← phi( initscreen/(const byte*) BITMAP#0 initscreen::@1/(byte*) initscreen::b#1 ) [ initscreen::b#2 ]
|
|
|
|
|
[67] *((byte*) initscreen::b#2) ← (byte) 0 [ initscreen::b#2 ]
|
|
|
|
|
[68] (byte*) initscreen::b#1 ← ++ (byte*) initscreen::b#2 [ initscreen::b#1 ]
|
|
|
|
|
[69] if((byte*) initscreen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto initscreen::@1 [ initscreen::b#1 ]
|
|
|
|
|
[67] (byte*) initscreen::b#2 ← phi( initscreen/(const byte*) BITMAP#0 initscreen::@1/(byte*) initscreen::b#1 ) [ initscreen::b#2 ]
|
|
|
|
|
[68] *((byte*) initscreen::b#2) ← (byte) 0 [ initscreen::b#2 ]
|
|
|
|
|
[69] (byte*) initscreen::b#1 ← ++ (byte*) initscreen::b#2 [ initscreen::b#1 ]
|
|
|
|
|
[70] if((byte*) initscreen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto initscreen::@1 [ initscreen::b#1 ]
|
|
|
|
|
to:initscreen::@2
|
|
|
|
|
initscreen::@2: scope:[initscreen] from initscreen::@1 initscreen::@2
|
|
|
|
|
[70] (byte*) initscreen::c#2 ← phi( initscreen::@2/(byte*) initscreen::c#1 initscreen::@1/(const byte*) SCREEN#0 ) [ initscreen::c#2 ]
|
|
|
|
|
[71] *((byte*) initscreen::c#2) ← (byte) 20 [ initscreen::c#2 ]
|
|
|
|
|
[72] (byte*) initscreen::c#1 ← ++ (byte*) initscreen::c#2 [ initscreen::c#1 ]
|
|
|
|
|
[73] if((byte*) initscreen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto initscreen::@2 [ initscreen::c#1 ]
|
|
|
|
|
[71] (byte*) initscreen::c#2 ← phi( initscreen::@2/(byte*) initscreen::c#1 initscreen::@1/(const byte*) SCREEN#0 ) [ initscreen::c#2 ]
|
|
|
|
|
[72] *((byte*) initscreen::c#2) ← (byte) 20 [ initscreen::c#2 ]
|
|
|
|
|
[73] (byte*) initscreen::c#1 ← ++ (byte*) initscreen::c#2 [ initscreen::c#1 ]
|
|
|
|
|
[74] if((byte*) initscreen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto initscreen::@2 [ initscreen::c#1 ]
|
|
|
|
|
to:initscreen::@return
|
|
|
|
|
initscreen::@return: scope:[initscreen] from initscreen::@2
|
|
|
|
|
[74] return [ ]
|
|
|
|
|
[75] return [ ]
|
|
|
|
|
to:@return
|
|
|
|
|