mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-06-10 10:29:36 +00:00
6190 lines
404 KiB
Plaintext
6190 lines
404 KiB
Plaintext
Identified constant variable (byte) lines_cnt
|
|
Inlined call (byte~) vicSelectGfxBank::$0 ← call toDd00 (byte*) vicSelectGfxBank::gfx
|
|
|
|
CONTROL FLOW GRAPH SSA
|
|
@begin: scope:[] from
|
|
(byte*) BORDERCOL#0 ← ((byte*)) (word/dword/signed dword) $d020
|
|
(byte*) BGCOL#0 ← ((byte*)) (word/dword/signed dword) $d021
|
|
(byte*) D011#0 ← ((byte*)) (word/dword/signed dword) $d011
|
|
(byte) VIC_BMM#0 ← (byte/signed byte/word/signed word/dword/signed dword) $20
|
|
(byte) VIC_DEN#0 ← (byte/signed byte/word/signed word/dword/signed dword) $10
|
|
(byte) VIC_RSEL#0 ← (byte/signed byte/word/signed word/dword/signed dword) 8
|
|
(byte*) VIC_MEMORY#0 ← ((byte*)) (word/dword/signed dword) $d018
|
|
to:@4
|
|
@4: scope:[] from @begin
|
|
(byte[$100]) bitmap_plot_xlo#0 ← { fill( $100, 0) }
|
|
(byte[$100]) bitmap_plot_xhi#0 ← { fill( $100, 0) }
|
|
(byte[$100]) bitmap_plot_ylo#0 ← { fill( $100, 0) }
|
|
(byte[$100]) bitmap_plot_yhi#0 ← { fill( $100, 0) }
|
|
(byte[$100]) bitmap_plot_bit#0 ← { fill( $100, 0) }
|
|
to:@12
|
|
bitmap_init: scope:[bitmap_init] from main
|
|
(byte*) bitmap_init::bitmap#2 ← phi( main/(byte*) bitmap_init::bitmap#0 )
|
|
(byte) bitmap_init::bits#0 ← (byte/word/signed word/dword/signed dword) $80
|
|
(byte) bitmap_init::x#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
|
to:bitmap_init::@1
|
|
bitmap_init::@1: scope:[bitmap_init] from bitmap_init bitmap_init::@2
|
|
(byte) bitmap_init::bits#3 ← phi( bitmap_init/(byte) bitmap_init::bits#0 bitmap_init::@2/(byte) bitmap_init::bits#4 )
|
|
(byte*) bitmap_init::bitmap#1 ← phi( bitmap_init/(byte*) bitmap_init::bitmap#2 bitmap_init::@2/(byte*) bitmap_init::bitmap#3 )
|
|
(byte) bitmap_init::x#2 ← phi( bitmap_init/(byte) bitmap_init::x#0 bitmap_init::@2/(byte) bitmap_init::x#1 )
|
|
(byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte/word/signed word/dword/signed dword) $f8
|
|
*((byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0
|
|
(byte~) bitmap_init::$1 ← > (byte*) bitmap_init::bitmap#1
|
|
*((byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$1
|
|
*((byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3
|
|
(byte~) bitmap_init::$2 ← (byte) bitmap_init::bits#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1
|
|
(byte) bitmap_init::bits#1 ← (byte~) bitmap_init::$2
|
|
(bool~) bitmap_init::$3 ← (byte) bitmap_init::bits#1 == (byte/signed byte/word/signed word/dword/signed dword) 0
|
|
(bool~) bitmap_init::$4 ← ! (bool~) bitmap_init::$3
|
|
if((bool~) bitmap_init::$4) goto bitmap_init::@2
|
|
to:bitmap_init::@3
|
|
bitmap_init::@2: scope:[bitmap_init] from bitmap_init::@1 bitmap_init::@3
|
|
(byte) bitmap_init::bits#4 ← phi( bitmap_init::@1/(byte) bitmap_init::bits#1 bitmap_init::@3/(byte) bitmap_init::bits#2 )
|
|
(byte*) bitmap_init::bitmap#3 ← phi( bitmap_init::@1/(byte*) bitmap_init::bitmap#1 bitmap_init::@3/(byte*) bitmap_init::bitmap#4 )
|
|
(byte) bitmap_init::x#3 ← phi( bitmap_init::@1/(byte) bitmap_init::x#2 bitmap_init::@3/(byte) bitmap_init::x#4 )
|
|
(byte) bitmap_init::x#1 ← (byte) bitmap_init::x#3 + rangenext(0,$ff)
|
|
(bool~) bitmap_init::$5 ← (byte) bitmap_init::x#1 != rangelast(0,$ff)
|
|
if((bool~) bitmap_init::$5) goto bitmap_init::@1
|
|
to:bitmap_init::@4
|
|
bitmap_init::@3: scope:[bitmap_init] from bitmap_init::@1
|
|
(byte*) bitmap_init::bitmap#4 ← phi( bitmap_init::@1/(byte*) bitmap_init::bitmap#1 )
|
|
(byte) bitmap_init::x#4 ← phi( bitmap_init::@1/(byte) bitmap_init::x#2 )
|
|
(byte) bitmap_init::bits#2 ← (byte/word/signed word/dword/signed dword) $80
|
|
to:bitmap_init::@2
|
|
bitmap_init::@4: scope:[bitmap_init] from bitmap_init::@2
|
|
(byte*) bitmap_init::yoffs#0 ← ((byte*)) (byte/signed byte/word/signed word/dword/signed dword) 0
|
|
(byte) bitmap_init::y#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
|
to:bitmap_init::@5
|
|
bitmap_init::@5: scope:[bitmap_init] from bitmap_init::@4 bitmap_init::@6
|
|
(byte*) bitmap_init::yoffs#2 ← phi( bitmap_init::@4/(byte*) bitmap_init::yoffs#0 bitmap_init::@6/(byte*) bitmap_init::yoffs#4 )
|
|
(byte) bitmap_init::y#2 ← phi( bitmap_init::@4/(byte) bitmap_init::y#0 bitmap_init::@6/(byte) bitmap_init::y#1 )
|
|
(byte~) bitmap_init::$6 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7
|
|
(byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2
|
|
(byte~) bitmap_init::$8 ← (byte~) bitmap_init::$6 | (byte~) bitmap_init::$7
|
|
*((byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8
|
|
(byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2
|
|
*((byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9
|
|
(byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7
|
|
(bool~) bitmap_init::$11 ← (byte~) bitmap_init::$10 == (byte/signed byte/word/signed word/dword/signed dword) 7
|
|
(bool~) bitmap_init::$12 ← ! (bool~) bitmap_init::$11
|
|
if((bool~) bitmap_init::$12) goto bitmap_init::@6
|
|
to:bitmap_init::@7
|
|
bitmap_init::@6: scope:[bitmap_init] from bitmap_init::@5 bitmap_init::@7
|
|
(byte*) bitmap_init::yoffs#4 ← phi( bitmap_init::@5/(byte*) bitmap_init::yoffs#2 bitmap_init::@7/(byte*) bitmap_init::yoffs#1 )
|
|
(byte) bitmap_init::y#3 ← phi( bitmap_init::@5/(byte) bitmap_init::y#2 bitmap_init::@7/(byte) bitmap_init::y#4 )
|
|
(byte) bitmap_init::y#1 ← (byte) bitmap_init::y#3 + rangenext(0,$ff)
|
|
(bool~) bitmap_init::$15 ← (byte) bitmap_init::y#1 != rangelast(0,$ff)
|
|
if((bool~) bitmap_init::$15) goto bitmap_init::@5
|
|
to:bitmap_init::@return
|
|
bitmap_init::@7: scope:[bitmap_init] from bitmap_init::@5
|
|
(byte) bitmap_init::y#4 ← phi( bitmap_init::@5/(byte) bitmap_init::y#2 )
|
|
(byte*) bitmap_init::yoffs#3 ← phi( bitmap_init::@5/(byte*) bitmap_init::yoffs#2 )
|
|
(word/signed word/dword/signed dword~) bitmap_init::$13 ← (byte/signed byte/word/signed word/dword/signed dword) $28 * (byte/signed byte/word/signed word/dword/signed dword) 8
|
|
(byte*~) bitmap_init::$14 ← (byte*) bitmap_init::yoffs#3 + (word/signed word/dword/signed dword~) bitmap_init::$13
|
|
(byte*) bitmap_init::yoffs#1 ← (byte*~) bitmap_init::$14
|
|
to:bitmap_init::@6
|
|
bitmap_init::@return: scope:[bitmap_init] from bitmap_init::@6
|
|
return
|
|
to:@return
|
|
bitmap_clear: scope:[bitmap_clear] from main::@3
|
|
(byte*~) bitmap_clear::$0 ← ((byte*)) { *((byte[$100]) bitmap_plot_xhi#0 + (byte/signed byte/word/signed word/dword/signed dword) 0), *((byte[$100]) bitmap_plot_xlo#0 + (byte/signed byte/word/signed word/dword/signed dword) 0) }
|
|
(byte*) bitmap_clear::bitmap#0 ← (byte*~) bitmap_clear::$0
|
|
(byte) bitmap_clear::y#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
|
to:bitmap_clear::@1
|
|
bitmap_clear::@1: scope:[bitmap_clear] from bitmap_clear bitmap_clear::@3
|
|
(byte) bitmap_clear::y#4 ← phi( bitmap_clear/(byte) bitmap_clear::y#0 bitmap_clear::@3/(byte) bitmap_clear::y#1 )
|
|
(byte*) bitmap_clear::bitmap#3 ← phi( bitmap_clear/(byte*) bitmap_clear::bitmap#0 bitmap_clear::@3/(byte*) bitmap_clear::bitmap#4 )
|
|
(byte) bitmap_clear::x#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
|
to:bitmap_clear::@2
|
|
bitmap_clear::@2: scope:[bitmap_clear] from bitmap_clear::@1 bitmap_clear::@2
|
|
(byte) bitmap_clear::y#3 ← phi( bitmap_clear::@1/(byte) bitmap_clear::y#4 bitmap_clear::@2/(byte) bitmap_clear::y#3 )
|
|
(byte) bitmap_clear::x#2 ← phi( bitmap_clear::@1/(byte) bitmap_clear::x#0 bitmap_clear::@2/(byte) bitmap_clear::x#1 )
|
|
(byte*) bitmap_clear::bitmap#2 ← phi( bitmap_clear::@1/(byte*) bitmap_clear::bitmap#3 bitmap_clear::@2/(byte*) bitmap_clear::bitmap#1 )
|
|
*((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
|
(byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2
|
|
(byte) bitmap_clear::x#1 ← (byte) bitmap_clear::x#2 + rangenext(0,$c7)
|
|
(bool~) bitmap_clear::$1 ← (byte) bitmap_clear::x#1 != rangelast(0,$c7)
|
|
if((bool~) bitmap_clear::$1) goto bitmap_clear::@2
|
|
to:bitmap_clear::@3
|
|
bitmap_clear::@3: scope:[bitmap_clear] from bitmap_clear::@2
|
|
(byte*) bitmap_clear::bitmap#4 ← phi( bitmap_clear::@2/(byte*) bitmap_clear::bitmap#1 )
|
|
(byte) bitmap_clear::y#2 ← phi( bitmap_clear::@2/(byte) bitmap_clear::y#3 )
|
|
(byte) bitmap_clear::y#1 ← (byte) bitmap_clear::y#2 + rangenext(0,$27)
|
|
(bool~) bitmap_clear::$2 ← (byte) bitmap_clear::y#1 != rangelast(0,$27)
|
|
if((bool~) bitmap_clear::$2) goto bitmap_clear::@1
|
|
to:bitmap_clear::@return
|
|
bitmap_clear::@return: scope:[bitmap_clear] from bitmap_clear::@3
|
|
return
|
|
to:@return
|
|
bitmap_plot: scope:[bitmap_plot] from bitmap_line_xdyd::@1 bitmap_line_xdyi::@1 bitmap_line_ydxd::@1 bitmap_line_ydxi::@1
|
|
(byte) bitmap_plot::y#4 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_plot::y#1 bitmap_line_xdyi::@1/(byte) bitmap_plot::y#0 bitmap_line_ydxd::@1/(byte) bitmap_plot::y#3 bitmap_line_ydxi::@1/(byte) bitmap_plot::y#2 )
|
|
(byte) bitmap_plot::x#4 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_plot::x#1 bitmap_line_xdyi::@1/(byte) bitmap_plot::x#0 bitmap_line_ydxd::@1/(byte) bitmap_plot::x#3 bitmap_line_ydxi::@1/(byte) bitmap_plot::x#2 )
|
|
(word) bitmap_plot::plotter_x#0 ← { *((byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4), *((byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_plot::x#4) }
|
|
(word) bitmap_plot::plotter_y#0 ← { *((byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4), *((byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#4) }
|
|
(word~) bitmap_plot::$0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0
|
|
(byte*) bitmap_plot::plotter#0 ← ((byte*)) (word~) bitmap_plot::$0
|
|
(byte~) bitmap_plot::$1 ← *((byte*) bitmap_plot::plotter#0) | *((byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_plot::x#4)
|
|
*((byte*) bitmap_plot::plotter#0) ← (byte~) bitmap_plot::$1
|
|
to:bitmap_plot::@return
|
|
bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot
|
|
return
|
|
to:@return
|
|
bitmap_line: scope:[bitmap_line] from lines::@1
|
|
(byte) bitmap_line::y1#13 ← phi( lines::@1/(byte) bitmap_line::y1#0 )
|
|
(byte) bitmap_line::y0#13 ← phi( lines::@1/(byte) bitmap_line::y0#0 )
|
|
(byte) bitmap_line::x1#1 ← phi( lines::@1/(byte) bitmap_line::x1#0 )
|
|
(byte) bitmap_line::x0#1 ← phi( lines::@1/(byte) bitmap_line::x0#0 )
|
|
(byte) bitmap_line::xd#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
|
(byte) bitmap_line::yd#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
|
(bool~) bitmap_line::$0 ← (byte) bitmap_line::x0#1 < (byte) bitmap_line::x1#1
|
|
if((bool~) bitmap_line::$0) goto bitmap_line::@1
|
|
to:bitmap_line::@3
|
|
bitmap_line::@1: scope:[bitmap_line] from bitmap_line
|
|
(byte) bitmap_line::y1#1 ← phi( bitmap_line/(byte) bitmap_line::y1#13 )
|
|
(byte) bitmap_line::y0#1 ← phi( bitmap_line/(byte) bitmap_line::y0#13 )
|
|
(byte) bitmap_line::x0#2 ← phi( bitmap_line/(byte) bitmap_line::x0#1 )
|
|
(byte) bitmap_line::x1#2 ← phi( bitmap_line/(byte) bitmap_line::x1#1 )
|
|
(byte~) bitmap_line::$11 ← (byte) bitmap_line::x1#2 - (byte) bitmap_line::x0#2
|
|
(byte) bitmap_line::xd#1 ← (byte~) bitmap_line::$11
|
|
(bool~) bitmap_line::$12 ← (byte) bitmap_line::y0#1 < (byte) bitmap_line::y1#1
|
|
if((bool~) bitmap_line::$12) goto bitmap_line::@20
|
|
to:bitmap_line::@7
|
|
bitmap_line::@3: scope:[bitmap_line] from bitmap_line
|
|
(byte) bitmap_line::y1#2 ← phi( bitmap_line/(byte) bitmap_line::y1#13 )
|
|
(byte) bitmap_line::y0#2 ← phi( bitmap_line/(byte) bitmap_line::y0#13 )
|
|
(byte) bitmap_line::x1#3 ← phi( bitmap_line/(byte) bitmap_line::x1#1 )
|
|
(byte) bitmap_line::x0#3 ← phi( bitmap_line/(byte) bitmap_line::x0#1 )
|
|
(byte~) bitmap_line::$1 ← (byte) bitmap_line::x0#3 - (byte) bitmap_line::x1#3
|
|
(byte) bitmap_line::xd#2 ← (byte~) bitmap_line::$1
|
|
(bool~) bitmap_line::$2 ← (byte) bitmap_line::y0#2 < (byte) bitmap_line::y1#2
|
|
if((bool~) bitmap_line::$2) goto bitmap_line::@10
|
|
to:bitmap_line::@4
|
|
bitmap_line::@10: scope:[bitmap_line] from bitmap_line::@3
|
|
(byte) bitmap_line::x0#11 ← phi( bitmap_line::@3/(byte) bitmap_line::x0#3 )
|
|
(byte) bitmap_line::x1#11 ← phi( bitmap_line::@3/(byte) bitmap_line::x1#3 )
|
|
(byte) bitmap_line::xd#3 ← phi( bitmap_line::@3/(byte) bitmap_line::xd#2 )
|
|
(byte) bitmap_line::y0#3 ← phi( bitmap_line::@3/(byte) bitmap_line::y0#2 )
|
|
(byte) bitmap_line::y1#3 ← phi( bitmap_line::@3/(byte) bitmap_line::y1#2 )
|
|
(byte~) bitmap_line::$7 ← (byte) bitmap_line::y1#3 - (byte) bitmap_line::y0#3
|
|
(byte) bitmap_line::yd#1 ← (byte~) bitmap_line::$7
|
|
(bool~) bitmap_line::$8 ← (byte) bitmap_line::yd#1 < (byte) bitmap_line::xd#3
|
|
if((bool~) bitmap_line::$8) goto bitmap_line::@15
|
|
to:bitmap_line::@17
|
|
bitmap_line::@4: scope:[bitmap_line] from bitmap_line::@3
|
|
(byte) bitmap_line::x0#10 ← phi( bitmap_line::@3/(byte) bitmap_line::x0#3 )
|
|
(byte) bitmap_line::x1#10 ← phi( bitmap_line::@3/(byte) bitmap_line::x1#3 )
|
|
(byte) bitmap_line::xd#4 ← phi( bitmap_line::@3/(byte) bitmap_line::xd#2 )
|
|
(byte) bitmap_line::y1#4 ← phi( bitmap_line::@3/(byte) bitmap_line::y1#2 )
|
|
(byte) bitmap_line::y0#4 ← phi( bitmap_line::@3/(byte) bitmap_line::y0#2 )
|
|
(byte~) bitmap_line::$3 ← (byte) bitmap_line::y0#4 - (byte) bitmap_line::y1#4
|
|
(byte) bitmap_line::yd#2 ← (byte~) bitmap_line::$3
|
|
(bool~) bitmap_line::$4 ← (byte) bitmap_line::yd#2 < (byte) bitmap_line::xd#4
|
|
if((bool~) bitmap_line::$4) goto bitmap_line::@11
|
|
to:bitmap_line::@5
|
|
bitmap_line::@11: scope:[bitmap_line] from bitmap_line::@4
|
|
(byte) bitmap_line::yd#5 ← phi( bitmap_line::@4/(byte) bitmap_line::yd#2 )
|
|
(byte) bitmap_line::xd#5 ← phi( bitmap_line::@4/(byte) bitmap_line::xd#4 )
|
|
(byte) bitmap_line::x0#4 ← phi( bitmap_line::@4/(byte) bitmap_line::x0#10 )
|
|
(byte) bitmap_line::y1#5 ← phi( bitmap_line::@4/(byte) bitmap_line::y1#4 )
|
|
(byte) bitmap_line::x1#4 ← phi( bitmap_line::@4/(byte) bitmap_line::x1#10 )
|
|
(byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#4
|
|
(byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#5
|
|
(byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#4
|
|
(byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#5
|
|
(byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#5
|
|
call bitmap_line_xdyi
|
|
to:bitmap_line::@29
|
|
bitmap_line::@29: scope:[bitmap_line] from bitmap_line::@11
|
|
to:bitmap_line::@return
|
|
bitmap_line::@5: scope:[bitmap_line] from bitmap_line::@4
|
|
(byte) bitmap_line::xd#6 ← phi( bitmap_line::@4/(byte) bitmap_line::xd#4 )
|
|
(byte) bitmap_line::yd#6 ← phi( bitmap_line::@4/(byte) bitmap_line::yd#2 )
|
|
(byte) bitmap_line::y0#5 ← phi( bitmap_line::@4/(byte) bitmap_line::y0#4 )
|
|
(byte) bitmap_line::x1#5 ← phi( bitmap_line::@4/(byte) bitmap_line::x1#10 )
|
|
(byte) bitmap_line::y1#6 ← phi( bitmap_line::@4/(byte) bitmap_line::y1#4 )
|
|
(byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#6
|
|
(byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#5
|
|
(byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#5
|
|
(byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#6
|
|
(byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#6
|
|
call bitmap_line_ydxi
|
|
to:bitmap_line::@30
|
|
bitmap_line::@30: scope:[bitmap_line] from bitmap_line::@5
|
|
to:bitmap_line::@return
|
|
bitmap_line::@15: scope:[bitmap_line] from bitmap_line::@10
|
|
(byte) bitmap_line::yd#7 ← phi( bitmap_line::@10/(byte) bitmap_line::yd#1 )
|
|
(byte) bitmap_line::xd#7 ← phi( bitmap_line::@10/(byte) bitmap_line::xd#3 )
|
|
(byte) bitmap_line::x0#5 ← phi( bitmap_line::@10/(byte) bitmap_line::x0#11 )
|
|
(byte) bitmap_line::y1#7 ← phi( bitmap_line::@10/(byte) bitmap_line::y1#3 )
|
|
(byte) bitmap_line::x1#6 ← phi( bitmap_line::@10/(byte) bitmap_line::x1#11 )
|
|
(byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#6
|
|
(byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#7
|
|
(byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#5
|
|
(byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#7
|
|
(byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#7
|
|
call bitmap_line_xdyd
|
|
to:bitmap_line::@31
|
|
bitmap_line::@31: scope:[bitmap_line] from bitmap_line::@15
|
|
to:bitmap_line::@return
|
|
bitmap_line::@17: scope:[bitmap_line] from bitmap_line::@10
|
|
(byte) bitmap_line::xd#8 ← phi( bitmap_line::@10/(byte) bitmap_line::xd#3 )
|
|
(byte) bitmap_line::yd#8 ← phi( bitmap_line::@10/(byte) bitmap_line::yd#1 )
|
|
(byte) bitmap_line::y1#8 ← phi( bitmap_line::@10/(byte) bitmap_line::y1#3 )
|
|
(byte) bitmap_line::x0#6 ← phi( bitmap_line::@10/(byte) bitmap_line::x0#11 )
|
|
(byte) bitmap_line::y0#6 ← phi( bitmap_line::@10/(byte) bitmap_line::y0#3 )
|
|
(byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#6
|
|
(byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#6
|
|
(byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#8
|
|
(byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#8
|
|
(byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#8
|
|
call bitmap_line_ydxd
|
|
to:bitmap_line::@32
|
|
bitmap_line::@32: scope:[bitmap_line] from bitmap_line::@17
|
|
to:bitmap_line::@return
|
|
bitmap_line::@20: scope:[bitmap_line] from bitmap_line::@1
|
|
(byte) bitmap_line::x1#13 ← phi( bitmap_line::@1/(byte) bitmap_line::x1#2 )
|
|
(byte) bitmap_line::x0#13 ← phi( bitmap_line::@1/(byte) bitmap_line::x0#2 )
|
|
(byte) bitmap_line::xd#9 ← phi( bitmap_line::@1/(byte) bitmap_line::xd#1 )
|
|
(byte) bitmap_line::y0#7 ← phi( bitmap_line::@1/(byte) bitmap_line::y0#1 )
|
|
(byte) bitmap_line::y1#9 ← phi( bitmap_line::@1/(byte) bitmap_line::y1#1 )
|
|
(byte~) bitmap_line::$17 ← (byte) bitmap_line::y1#9 - (byte) bitmap_line::y0#7
|
|
(byte) bitmap_line::yd#3 ← (byte~) bitmap_line::$17
|
|
(bool~) bitmap_line::$18 ← (byte) bitmap_line::yd#3 < (byte) bitmap_line::xd#9
|
|
if((bool~) bitmap_line::$18) goto bitmap_line::@25
|
|
to:bitmap_line::@27
|
|
bitmap_line::@7: scope:[bitmap_line] from bitmap_line::@1
|
|
(byte) bitmap_line::x1#12 ← phi( bitmap_line::@1/(byte) bitmap_line::x1#2 )
|
|
(byte) bitmap_line::x0#12 ← phi( bitmap_line::@1/(byte) bitmap_line::x0#2 )
|
|
(byte) bitmap_line::xd#10 ← phi( bitmap_line::@1/(byte) bitmap_line::xd#1 )
|
|
(byte) bitmap_line::y1#10 ← phi( bitmap_line::@1/(byte) bitmap_line::y1#1 )
|
|
(byte) bitmap_line::y0#8 ← phi( bitmap_line::@1/(byte) bitmap_line::y0#1 )
|
|
(byte~) bitmap_line::$13 ← (byte) bitmap_line::y0#8 - (byte) bitmap_line::y1#10
|
|
(byte) bitmap_line::yd#4 ← (byte~) bitmap_line::$13
|
|
(bool~) bitmap_line::$14 ← (byte) bitmap_line::yd#4 < (byte) bitmap_line::xd#10
|
|
if((bool~) bitmap_line::$14) goto bitmap_line::@21
|
|
to:bitmap_line::@8
|
|
bitmap_line::@21: scope:[bitmap_line] from bitmap_line::@7
|
|
(byte) bitmap_line::yd#9 ← phi( bitmap_line::@7/(byte) bitmap_line::yd#4 )
|
|
(byte) bitmap_line::xd#11 ← phi( bitmap_line::@7/(byte) bitmap_line::xd#10 )
|
|
(byte) bitmap_line::x1#7 ← phi( bitmap_line::@7/(byte) bitmap_line::x1#12 )
|
|
(byte) bitmap_line::y0#9 ← phi( bitmap_line::@7/(byte) bitmap_line::y0#8 )
|
|
(byte) bitmap_line::x0#7 ← phi( bitmap_line::@7/(byte) bitmap_line::x0#12 )
|
|
(byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#7
|
|
(byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#9
|
|
(byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#7
|
|
(byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#11
|
|
(byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#9
|
|
call bitmap_line_xdyd
|
|
to:bitmap_line::@33
|
|
bitmap_line::@33: scope:[bitmap_line] from bitmap_line::@21
|
|
to:bitmap_line::@return
|
|
bitmap_line::@8: scope:[bitmap_line] from bitmap_line::@7
|
|
(byte) bitmap_line::xd#12 ← phi( bitmap_line::@7/(byte) bitmap_line::xd#10 )
|
|
(byte) bitmap_line::yd#10 ← phi( bitmap_line::@7/(byte) bitmap_line::yd#4 )
|
|
(byte) bitmap_line::y0#10 ← phi( bitmap_line::@7/(byte) bitmap_line::y0#8 )
|
|
(byte) bitmap_line::x1#8 ← phi( bitmap_line::@7/(byte) bitmap_line::x1#12 )
|
|
(byte) bitmap_line::y1#11 ← phi( bitmap_line::@7/(byte) bitmap_line::y1#10 )
|
|
(byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#11
|
|
(byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#8
|
|
(byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#10
|
|
(byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#10
|
|
(byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#12
|
|
call bitmap_line_ydxd
|
|
to:bitmap_line::@34
|
|
bitmap_line::@34: scope:[bitmap_line] from bitmap_line::@8
|
|
to:bitmap_line::@return
|
|
bitmap_line::@25: scope:[bitmap_line] from bitmap_line::@20
|
|
(byte) bitmap_line::yd#11 ← phi( bitmap_line::@20/(byte) bitmap_line::yd#3 )
|
|
(byte) bitmap_line::xd#13 ← phi( bitmap_line::@20/(byte) bitmap_line::xd#9 )
|
|
(byte) bitmap_line::x1#9 ← phi( bitmap_line::@20/(byte) bitmap_line::x1#13 )
|
|
(byte) bitmap_line::y0#11 ← phi( bitmap_line::@20/(byte) bitmap_line::y0#7 )
|
|
(byte) bitmap_line::x0#8 ← phi( bitmap_line::@20/(byte) bitmap_line::x0#13 )
|
|
(byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#8
|
|
(byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#11
|
|
(byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#9
|
|
(byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#13
|
|
(byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11
|
|
call bitmap_line_xdyi
|
|
to:bitmap_line::@35
|
|
bitmap_line::@35: scope:[bitmap_line] from bitmap_line::@25
|
|
to:bitmap_line::@return
|
|
bitmap_line::@27: scope:[bitmap_line] from bitmap_line::@20
|
|
(byte) bitmap_line::xd#14 ← phi( bitmap_line::@20/(byte) bitmap_line::xd#9 )
|
|
(byte) bitmap_line::yd#12 ← phi( bitmap_line::@20/(byte) bitmap_line::yd#3 )
|
|
(byte) bitmap_line::y1#12 ← phi( bitmap_line::@20/(byte) bitmap_line::y1#9 )
|
|
(byte) bitmap_line::x0#9 ← phi( bitmap_line::@20/(byte) bitmap_line::x0#13 )
|
|
(byte) bitmap_line::y0#12 ← phi( bitmap_line::@20/(byte) bitmap_line::y0#7 )
|
|
(byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#12
|
|
(byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#9
|
|
(byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#12
|
|
(byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#12
|
|
(byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#14
|
|
call bitmap_line_ydxi
|
|
to:bitmap_line::@36
|
|
bitmap_line::@36: scope:[bitmap_line] from bitmap_line::@27
|
|
to:bitmap_line::@return
|
|
bitmap_line::@return: scope:[bitmap_line] from bitmap_line::@29 bitmap_line::@30 bitmap_line::@31 bitmap_line::@32 bitmap_line::@33 bitmap_line::@34 bitmap_line::@35 bitmap_line::@36
|
|
return
|
|
to:@return
|
|
bitmap_line_xdyi: scope:[bitmap_line_xdyi] from bitmap_line::@11 bitmap_line::@25
|
|
(byte) bitmap_line_xdyi::x1#6 ← phi( bitmap_line::@11/(byte) bitmap_line_xdyi::x1#0 bitmap_line::@25/(byte) bitmap_line_xdyi::x1#1 )
|
|
(byte) bitmap_line_xdyi::xd#5 ← phi( bitmap_line::@11/(byte) bitmap_line_xdyi::xd#0 bitmap_line::@25/(byte) bitmap_line_xdyi::xd#1 )
|
|
(byte) bitmap_line_xdyi::y#5 ← phi( bitmap_line::@11/(byte) bitmap_line_xdyi::y#0 bitmap_line::@25/(byte) bitmap_line_xdyi::y#1 )
|
|
(byte) bitmap_line_xdyi::x#6 ← phi( bitmap_line::@11/(byte) bitmap_line_xdyi::x#0 bitmap_line::@25/(byte) bitmap_line_xdyi::x#1 )
|
|
(byte) bitmap_line_xdyi::yd#2 ← phi( bitmap_line::@11/(byte) bitmap_line_xdyi::yd#0 bitmap_line::@25/(byte) bitmap_line_xdyi::yd#1 )
|
|
(byte~) bitmap_line_xdyi::$0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1
|
|
(byte) bitmap_line_xdyi::e#0 ← (byte~) bitmap_line_xdyi::$0
|
|
to:bitmap_line_xdyi::@1
|
|
bitmap_line_xdyi::@1: scope:[bitmap_line_xdyi] from bitmap_line_xdyi bitmap_line_xdyi::@2
|
|
(byte) bitmap_line_xdyi::x1#5 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::x1#6 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::x1#2 )
|
|
(byte) bitmap_line_xdyi::xd#4 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::xd#5 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::xd#6 )
|
|
(byte) bitmap_line_xdyi::yd#4 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::yd#2 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::yd#5 )
|
|
(byte) bitmap_line_xdyi::e#5 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::e#0 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::e#6 )
|
|
(byte) bitmap_line_xdyi::y#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::y#5 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::y#6 )
|
|
(byte) bitmap_line_xdyi::x#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::x#6 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::x#5 )
|
|
(byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3
|
|
(byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3
|
|
call bitmap_plot
|
|
to:bitmap_line_xdyi::@5
|
|
bitmap_line_xdyi::@5: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@1
|
|
(byte) bitmap_line_xdyi::y#7 ← phi( bitmap_line_xdyi::@1/(byte) bitmap_line_xdyi::y#3 )
|
|
(byte) bitmap_line_xdyi::x1#4 ← phi( bitmap_line_xdyi::@1/(byte) bitmap_line_xdyi::x1#5 )
|
|
(byte) bitmap_line_xdyi::xd#2 ← phi( bitmap_line_xdyi::@1/(byte) bitmap_line_xdyi::xd#4 )
|
|
(byte) bitmap_line_xdyi::yd#3 ← phi( bitmap_line_xdyi::@1/(byte) bitmap_line_xdyi::yd#4 )
|
|
(byte) bitmap_line_xdyi::e#3 ← phi( bitmap_line_xdyi::@1/(byte) bitmap_line_xdyi::e#5 )
|
|
(byte) bitmap_line_xdyi::x#4 ← phi( bitmap_line_xdyi::@1/(byte) bitmap_line_xdyi::x#3 )
|
|
(byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#4
|
|
(byte~) bitmap_line_xdyi::$2 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#3
|
|
(byte) bitmap_line_xdyi::e#1 ← (byte~) bitmap_line_xdyi::$2
|
|
(bool~) bitmap_line_xdyi::$3 ← (byte) bitmap_line_xdyi::xd#2 < (byte) bitmap_line_xdyi::e#1
|
|
(bool~) bitmap_line_xdyi::$4 ← ! (bool~) bitmap_line_xdyi::$3
|
|
if((bool~) bitmap_line_xdyi::$4) goto bitmap_line_xdyi::@2
|
|
to:bitmap_line_xdyi::@3
|
|
bitmap_line_xdyi::@2: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@3 bitmap_line_xdyi::@5
|
|
(byte) bitmap_line_xdyi::xd#6 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::xd#3 bitmap_line_xdyi::@5/(byte) bitmap_line_xdyi::xd#2 )
|
|
(byte) bitmap_line_xdyi::yd#5 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::yd#6 bitmap_line_xdyi::@5/(byte) bitmap_line_xdyi::yd#3 )
|
|
(byte) bitmap_line_xdyi::e#6 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::e#2 bitmap_line_xdyi::@5/(byte) bitmap_line_xdyi::e#1 )
|
|
(byte) bitmap_line_xdyi::y#6 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::y#2 bitmap_line_xdyi::@5/(byte) bitmap_line_xdyi::y#7 )
|
|
(byte) bitmap_line_xdyi::x#5 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::x#7 bitmap_line_xdyi::@5/(byte) bitmap_line_xdyi::x#2 )
|
|
(byte) bitmap_line_xdyi::x1#2 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::x1#3 bitmap_line_xdyi::@5/(byte) bitmap_line_xdyi::x1#4 )
|
|
(byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#2 + (byte/signed byte/word/signed word/dword/signed dword) 1
|
|
(bool~) bitmap_line_xdyi::$7 ← (byte) bitmap_line_xdyi::x#5 != (byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6
|
|
if((bool~) bitmap_line_xdyi::$7) goto bitmap_line_xdyi::@1
|
|
to:bitmap_line_xdyi::@return
|
|
bitmap_line_xdyi::@3: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@5
|
|
(byte) bitmap_line_xdyi::yd#6 ← phi( bitmap_line_xdyi::@5/(byte) bitmap_line_xdyi::yd#3 )
|
|
(byte) bitmap_line_xdyi::x#7 ← phi( bitmap_line_xdyi::@5/(byte) bitmap_line_xdyi::x#2 )
|
|
(byte) bitmap_line_xdyi::x1#3 ← phi( bitmap_line_xdyi::@5/(byte) bitmap_line_xdyi::x1#4 )
|
|
(byte) bitmap_line_xdyi::xd#3 ← phi( bitmap_line_xdyi::@5/(byte) bitmap_line_xdyi::xd#2 )
|
|
(byte) bitmap_line_xdyi::e#4 ← phi( bitmap_line_xdyi::@5/(byte) bitmap_line_xdyi::e#1 )
|
|
(byte) bitmap_line_xdyi::y#4 ← phi( bitmap_line_xdyi::@5/(byte) bitmap_line_xdyi::y#7 )
|
|
(byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#4
|
|
(byte~) bitmap_line_xdyi::$5 ← (byte) bitmap_line_xdyi::e#4 - (byte) bitmap_line_xdyi::xd#3
|
|
(byte) bitmap_line_xdyi::e#2 ← (byte~) bitmap_line_xdyi::$5
|
|
to:bitmap_line_xdyi::@2
|
|
bitmap_line_xdyi::@return: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@2
|
|
return
|
|
to:@return
|
|
bitmap_line_xdyd: scope:[bitmap_line_xdyd] from bitmap_line::@15 bitmap_line::@21
|
|
(byte) bitmap_line_xdyd::x1#6 ← phi( bitmap_line::@15/(byte) bitmap_line_xdyd::x1#0 bitmap_line::@21/(byte) bitmap_line_xdyd::x1#1 )
|
|
(byte) bitmap_line_xdyd::xd#5 ← phi( bitmap_line::@15/(byte) bitmap_line_xdyd::xd#0 bitmap_line::@21/(byte) bitmap_line_xdyd::xd#1 )
|
|
(byte) bitmap_line_xdyd::y#5 ← phi( bitmap_line::@15/(byte) bitmap_line_xdyd::y#0 bitmap_line::@21/(byte) bitmap_line_xdyd::y#1 )
|
|
(byte) bitmap_line_xdyd::x#6 ← phi( bitmap_line::@15/(byte) bitmap_line_xdyd::x#0 bitmap_line::@21/(byte) bitmap_line_xdyd::x#1 )
|
|
(byte) bitmap_line_xdyd::yd#2 ← phi( bitmap_line::@15/(byte) bitmap_line_xdyd::yd#0 bitmap_line::@21/(byte) bitmap_line_xdyd::yd#1 )
|
|
(byte~) bitmap_line_xdyd::$0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1
|
|
(byte) bitmap_line_xdyd::e#0 ← (byte~) bitmap_line_xdyd::$0
|
|
to:bitmap_line_xdyd::@1
|
|
bitmap_line_xdyd::@1: scope:[bitmap_line_xdyd] from bitmap_line_xdyd bitmap_line_xdyd::@2
|
|
(byte) bitmap_line_xdyd::x1#5 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::x1#6 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::x1#2 )
|
|
(byte) bitmap_line_xdyd::xd#4 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::xd#5 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::xd#6 )
|
|
(byte) bitmap_line_xdyd::yd#4 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::yd#2 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::yd#5 )
|
|
(byte) bitmap_line_xdyd::e#5 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::e#0 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::e#6 )
|
|
(byte) bitmap_line_xdyd::y#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::y#5 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::y#6 )
|
|
(byte) bitmap_line_xdyd::x#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::x#6 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::x#5 )
|
|
(byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3
|
|
(byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3
|
|
call bitmap_plot
|
|
to:bitmap_line_xdyd::@5
|
|
bitmap_line_xdyd::@5: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@1
|
|
(byte) bitmap_line_xdyd::y#7 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_line_xdyd::y#3 )
|
|
(byte) bitmap_line_xdyd::x1#4 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_line_xdyd::x1#5 )
|
|
(byte) bitmap_line_xdyd::xd#2 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_line_xdyd::xd#4 )
|
|
(byte) bitmap_line_xdyd::yd#3 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_line_xdyd::yd#4 )
|
|
(byte) bitmap_line_xdyd::e#3 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_line_xdyd::e#5 )
|
|
(byte) bitmap_line_xdyd::x#4 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_line_xdyd::x#3 )
|
|
(byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#4
|
|
(byte~) bitmap_line_xdyd::$2 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#3
|
|
(byte) bitmap_line_xdyd::e#1 ← (byte~) bitmap_line_xdyd::$2
|
|
(bool~) bitmap_line_xdyd::$3 ← (byte) bitmap_line_xdyd::xd#2 < (byte) bitmap_line_xdyd::e#1
|
|
(bool~) bitmap_line_xdyd::$4 ← ! (bool~) bitmap_line_xdyd::$3
|
|
if((bool~) bitmap_line_xdyd::$4) goto bitmap_line_xdyd::@2
|
|
to:bitmap_line_xdyd::@3
|
|
bitmap_line_xdyd::@2: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@3 bitmap_line_xdyd::@5
|
|
(byte) bitmap_line_xdyd::xd#6 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::xd#3 bitmap_line_xdyd::@5/(byte) bitmap_line_xdyd::xd#2 )
|
|
(byte) bitmap_line_xdyd::yd#5 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::yd#6 bitmap_line_xdyd::@5/(byte) bitmap_line_xdyd::yd#3 )
|
|
(byte) bitmap_line_xdyd::e#6 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::e#2 bitmap_line_xdyd::@5/(byte) bitmap_line_xdyd::e#1 )
|
|
(byte) bitmap_line_xdyd::y#6 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::y#2 bitmap_line_xdyd::@5/(byte) bitmap_line_xdyd::y#7 )
|
|
(byte) bitmap_line_xdyd::x#5 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::x#7 bitmap_line_xdyd::@5/(byte) bitmap_line_xdyd::x#2 )
|
|
(byte) bitmap_line_xdyd::x1#2 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::x1#3 bitmap_line_xdyd::@5/(byte) bitmap_line_xdyd::x1#4 )
|
|
(byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#2 + (byte/signed byte/word/signed word/dword/signed dword) 1
|
|
(bool~) bitmap_line_xdyd::$7 ← (byte) bitmap_line_xdyd::x#5 != (byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6
|
|
if((bool~) bitmap_line_xdyd::$7) goto bitmap_line_xdyd::@1
|
|
to:bitmap_line_xdyd::@return
|
|
bitmap_line_xdyd::@3: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@5
|
|
(byte) bitmap_line_xdyd::yd#6 ← phi( bitmap_line_xdyd::@5/(byte) bitmap_line_xdyd::yd#3 )
|
|
(byte) bitmap_line_xdyd::x#7 ← phi( bitmap_line_xdyd::@5/(byte) bitmap_line_xdyd::x#2 )
|
|
(byte) bitmap_line_xdyd::x1#3 ← phi( bitmap_line_xdyd::@5/(byte) bitmap_line_xdyd::x1#4 )
|
|
(byte) bitmap_line_xdyd::xd#3 ← phi( bitmap_line_xdyd::@5/(byte) bitmap_line_xdyd::xd#2 )
|
|
(byte) bitmap_line_xdyd::e#4 ← phi( bitmap_line_xdyd::@5/(byte) bitmap_line_xdyd::e#1 )
|
|
(byte) bitmap_line_xdyd::y#4 ← phi( bitmap_line_xdyd::@5/(byte) bitmap_line_xdyd::y#7 )
|
|
(byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#4
|
|
(byte~) bitmap_line_xdyd::$5 ← (byte) bitmap_line_xdyd::e#4 - (byte) bitmap_line_xdyd::xd#3
|
|
(byte) bitmap_line_xdyd::e#2 ← (byte~) bitmap_line_xdyd::$5
|
|
to:bitmap_line_xdyd::@2
|
|
bitmap_line_xdyd::@return: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@2
|
|
return
|
|
to:@return
|
|
bitmap_line_ydxi: scope:[bitmap_line_ydxi] from bitmap_line::@27 bitmap_line::@5
|
|
(byte) bitmap_line_ydxi::y1#6 ← phi( bitmap_line::@27/(byte) bitmap_line_ydxi::y1#1 bitmap_line::@5/(byte) bitmap_line_ydxi::y1#0 )
|
|
(byte) bitmap_line_ydxi::yd#5 ← phi( bitmap_line::@27/(byte) bitmap_line_ydxi::yd#1 bitmap_line::@5/(byte) bitmap_line_ydxi::yd#0 )
|
|
(byte) bitmap_line_ydxi::y#6 ← phi( bitmap_line::@27/(byte) bitmap_line_ydxi::y#1 bitmap_line::@5/(byte) bitmap_line_ydxi::y#0 )
|
|
(byte) bitmap_line_ydxi::x#5 ← phi( bitmap_line::@27/(byte) bitmap_line_ydxi::x#1 bitmap_line::@5/(byte) bitmap_line_ydxi::x#0 )
|
|
(byte) bitmap_line_ydxi::xd#2 ← phi( bitmap_line::@27/(byte) bitmap_line_ydxi::xd#1 bitmap_line::@5/(byte) bitmap_line_ydxi::xd#0 )
|
|
(byte~) bitmap_line_ydxi::$0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1
|
|
(byte) bitmap_line_ydxi::e#0 ← (byte~) bitmap_line_ydxi::$0
|
|
to:bitmap_line_ydxi::@1
|
|
bitmap_line_ydxi::@1: scope:[bitmap_line_ydxi] from bitmap_line_ydxi bitmap_line_ydxi::@2
|
|
(byte) bitmap_line_ydxi::y1#5 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::y1#6 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::y1#2 )
|
|
(byte) bitmap_line_ydxi::yd#4 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::yd#5 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::yd#6 )
|
|
(byte) bitmap_line_ydxi::xd#4 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::xd#2 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::xd#5 )
|
|
(byte) bitmap_line_ydxi::e#5 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::e#0 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::e#6 )
|
|
(byte) bitmap_line_ydxi::y#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::y#6 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::y#5 )
|
|
(byte) bitmap_line_ydxi::x#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::x#5 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::x#6 )
|
|
(byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3
|
|
(byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3
|
|
call bitmap_plot
|
|
to:bitmap_line_ydxi::@5
|
|
bitmap_line_ydxi::@5: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@1
|
|
(byte) bitmap_line_ydxi::x#7 ← phi( bitmap_line_ydxi::@1/(byte) bitmap_line_ydxi::x#3 )
|
|
(byte) bitmap_line_ydxi::y1#4 ← phi( bitmap_line_ydxi::@1/(byte) bitmap_line_ydxi::y1#5 )
|
|
(byte) bitmap_line_ydxi::yd#2 ← phi( bitmap_line_ydxi::@1/(byte) bitmap_line_ydxi::yd#4 )
|
|
(byte) bitmap_line_ydxi::xd#3 ← phi( bitmap_line_ydxi::@1/(byte) bitmap_line_ydxi::xd#4 )
|
|
(byte) bitmap_line_ydxi::e#3 ← phi( bitmap_line_ydxi::@1/(byte) bitmap_line_ydxi::e#5 )
|
|
(byte) bitmap_line_ydxi::y#4 ← phi( bitmap_line_ydxi::@1/(byte) bitmap_line_ydxi::y#3 )
|
|
(byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#4
|
|
(byte~) bitmap_line_ydxi::$2 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#3
|
|
(byte) bitmap_line_ydxi::e#1 ← (byte~) bitmap_line_ydxi::$2
|
|
(bool~) bitmap_line_ydxi::$3 ← (byte) bitmap_line_ydxi::yd#2 < (byte) bitmap_line_ydxi::e#1
|
|
(bool~) bitmap_line_ydxi::$4 ← ! (bool~) bitmap_line_ydxi::$3
|
|
if((bool~) bitmap_line_ydxi::$4) goto bitmap_line_ydxi::@2
|
|
to:bitmap_line_ydxi::@3
|
|
bitmap_line_ydxi::@2: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@3 bitmap_line_ydxi::@5
|
|
(byte) bitmap_line_ydxi::yd#6 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::yd#3 bitmap_line_ydxi::@5/(byte) bitmap_line_ydxi::yd#2 )
|
|
(byte) bitmap_line_ydxi::xd#5 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::xd#6 bitmap_line_ydxi::@5/(byte) bitmap_line_ydxi::xd#3 )
|
|
(byte) bitmap_line_ydxi::e#6 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::e#2 bitmap_line_ydxi::@5/(byte) bitmap_line_ydxi::e#1 )
|
|
(byte) bitmap_line_ydxi::x#6 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::x#2 bitmap_line_ydxi::@5/(byte) bitmap_line_ydxi::x#7 )
|
|
(byte) bitmap_line_ydxi::y#5 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::y#7 bitmap_line_ydxi::@5/(byte) bitmap_line_ydxi::y#2 )
|
|
(byte) bitmap_line_ydxi::y1#2 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::y1#3 bitmap_line_ydxi::@5/(byte) bitmap_line_ydxi::y1#4 )
|
|
(byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#2 + (byte/signed byte/word/signed word/dword/signed dword) 1
|
|
(bool~) bitmap_line_ydxi::$7 ← (byte) bitmap_line_ydxi::y#5 != (byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6
|
|
if((bool~) bitmap_line_ydxi::$7) goto bitmap_line_ydxi::@1
|
|
to:bitmap_line_ydxi::@return
|
|
bitmap_line_ydxi::@3: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@5
|
|
(byte) bitmap_line_ydxi::xd#6 ← phi( bitmap_line_ydxi::@5/(byte) bitmap_line_ydxi::xd#3 )
|
|
(byte) bitmap_line_ydxi::y#7 ← phi( bitmap_line_ydxi::@5/(byte) bitmap_line_ydxi::y#2 )
|
|
(byte) bitmap_line_ydxi::y1#3 ← phi( bitmap_line_ydxi::@5/(byte) bitmap_line_ydxi::y1#4 )
|
|
(byte) bitmap_line_ydxi::yd#3 ← phi( bitmap_line_ydxi::@5/(byte) bitmap_line_ydxi::yd#2 )
|
|
(byte) bitmap_line_ydxi::e#4 ← phi( bitmap_line_ydxi::@5/(byte) bitmap_line_ydxi::e#1 )
|
|
(byte) bitmap_line_ydxi::x#4 ← phi( bitmap_line_ydxi::@5/(byte) bitmap_line_ydxi::x#7 )
|
|
(byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#4
|
|
(byte~) bitmap_line_ydxi::$5 ← (byte) bitmap_line_ydxi::e#4 - (byte) bitmap_line_ydxi::yd#3
|
|
(byte) bitmap_line_ydxi::e#2 ← (byte~) bitmap_line_ydxi::$5
|
|
to:bitmap_line_ydxi::@2
|
|
bitmap_line_ydxi::@return: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@2
|
|
return
|
|
to:@return
|
|
bitmap_line_ydxd: scope:[bitmap_line_ydxd] from bitmap_line::@17 bitmap_line::@8
|
|
(byte) bitmap_line_ydxd::y1#6 ← phi( bitmap_line::@17/(byte) bitmap_line_ydxd::y1#0 bitmap_line::@8/(byte) bitmap_line_ydxd::y1#1 )
|
|
(byte) bitmap_line_ydxd::yd#5 ← phi( bitmap_line::@17/(byte) bitmap_line_ydxd::yd#0 bitmap_line::@8/(byte) bitmap_line_ydxd::yd#1 )
|
|
(byte) bitmap_line_ydxd::y#7 ← phi( bitmap_line::@17/(byte) bitmap_line_ydxd::y#0 bitmap_line::@8/(byte) bitmap_line_ydxd::y#1 )
|
|
(byte) bitmap_line_ydxd::x#5 ← phi( bitmap_line::@17/(byte) bitmap_line_ydxd::x#0 bitmap_line::@8/(byte) bitmap_line_ydxd::x#1 )
|
|
(byte) bitmap_line_ydxd::xd#2 ← phi( bitmap_line::@17/(byte) bitmap_line_ydxd::xd#0 bitmap_line::@8/(byte) bitmap_line_ydxd::xd#1 )
|
|
(byte~) bitmap_line_ydxd::$0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1
|
|
(byte) bitmap_line_ydxd::e#0 ← (byte~) bitmap_line_ydxd::$0
|
|
to:bitmap_line_ydxd::@1
|
|
bitmap_line_ydxd::@1: scope:[bitmap_line_ydxd] from bitmap_line_ydxd bitmap_line_ydxd::@2
|
|
(byte) bitmap_line_ydxd::y1#5 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::y1#6 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::y1#2 )
|
|
(byte) bitmap_line_ydxd::yd#4 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::yd#5 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::yd#6 )
|
|
(byte) bitmap_line_ydxd::xd#4 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::xd#2 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::xd#5 )
|
|
(byte) bitmap_line_ydxd::e#5 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::e#0 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::e#6 )
|
|
(byte) bitmap_line_ydxd::y#4 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::y#7 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::y#6 )
|
|
(byte) bitmap_line_ydxd::x#3 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::x#5 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::x#6 )
|
|
(byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3
|
|
(byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#4
|
|
call bitmap_plot
|
|
to:bitmap_line_ydxd::@5
|
|
bitmap_line_ydxd::@5: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@1
|
|
(byte) bitmap_line_ydxd::x#7 ← phi( bitmap_line_ydxd::@1/(byte) bitmap_line_ydxd::x#3 )
|
|
(byte) bitmap_line_ydxd::y1#4 ← phi( bitmap_line_ydxd::@1/(byte) bitmap_line_ydxd::y1#5 )
|
|
(byte) bitmap_line_ydxd::yd#2 ← phi( bitmap_line_ydxd::@1/(byte) bitmap_line_ydxd::yd#4 )
|
|
(byte) bitmap_line_ydxd::xd#3 ← phi( bitmap_line_ydxd::@1/(byte) bitmap_line_ydxd::xd#4 )
|
|
(byte) bitmap_line_ydxd::e#3 ← phi( bitmap_line_ydxd::@1/(byte) bitmap_line_ydxd::e#5 )
|
|
(byte) bitmap_line_ydxd::y#5 ← phi( bitmap_line_ydxd::@1/(byte) bitmap_line_ydxd::y#4 )
|
|
(byte) bitmap_line_ydxd::y#2 ← (byte) bitmap_line_ydxd::y#5
|
|
(byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2
|
|
(byte~) bitmap_line_ydxd::$2 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#3
|
|
(byte) bitmap_line_ydxd::e#1 ← (byte~) bitmap_line_ydxd::$2
|
|
(bool~) bitmap_line_ydxd::$3 ← (byte) bitmap_line_ydxd::yd#2 < (byte) bitmap_line_ydxd::e#1
|
|
(bool~) bitmap_line_ydxd::$4 ← ! (bool~) bitmap_line_ydxd::$3
|
|
if((bool~) bitmap_line_ydxd::$4) goto bitmap_line_ydxd::@2
|
|
to:bitmap_line_ydxd::@3
|
|
bitmap_line_ydxd::@2: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@3 bitmap_line_ydxd::@5
|
|
(byte) bitmap_line_ydxd::yd#6 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::yd#3 bitmap_line_ydxd::@5/(byte) bitmap_line_ydxd::yd#2 )
|
|
(byte) bitmap_line_ydxd::xd#5 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::xd#6 bitmap_line_ydxd::@5/(byte) bitmap_line_ydxd::xd#3 )
|
|
(byte) bitmap_line_ydxd::e#6 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::e#2 bitmap_line_ydxd::@5/(byte) bitmap_line_ydxd::e#1 )
|
|
(byte) bitmap_line_ydxd::x#6 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::x#2 bitmap_line_ydxd::@5/(byte) bitmap_line_ydxd::x#7 )
|
|
(byte) bitmap_line_ydxd::y#6 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::y#8 bitmap_line_ydxd::@5/(byte) bitmap_line_ydxd::y#3 )
|
|
(byte) bitmap_line_ydxd::y1#2 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::y1#3 bitmap_line_ydxd::@5/(byte) bitmap_line_ydxd::y1#4 )
|
|
(byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#2 + (byte/signed byte/word/signed word/dword/signed dword) 1
|
|
(bool~) bitmap_line_ydxd::$7 ← (byte) bitmap_line_ydxd::y#6 != (byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6
|
|
if((bool~) bitmap_line_ydxd::$7) goto bitmap_line_ydxd::@1
|
|
to:bitmap_line_ydxd::@return
|
|
bitmap_line_ydxd::@3: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@5
|
|
(byte) bitmap_line_ydxd::xd#6 ← phi( bitmap_line_ydxd::@5/(byte) bitmap_line_ydxd::xd#3 )
|
|
(byte) bitmap_line_ydxd::y#8 ← phi( bitmap_line_ydxd::@5/(byte) bitmap_line_ydxd::y#3 )
|
|
(byte) bitmap_line_ydxd::y1#3 ← phi( bitmap_line_ydxd::@5/(byte) bitmap_line_ydxd::y1#4 )
|
|
(byte) bitmap_line_ydxd::yd#3 ← phi( bitmap_line_ydxd::@5/(byte) bitmap_line_ydxd::yd#2 )
|
|
(byte) bitmap_line_ydxd::e#4 ← phi( bitmap_line_ydxd::@5/(byte) bitmap_line_ydxd::e#1 )
|
|
(byte) bitmap_line_ydxd::x#4 ← phi( bitmap_line_ydxd::@5/(byte) bitmap_line_ydxd::x#7 )
|
|
(byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#4
|
|
(byte~) bitmap_line_ydxd::$5 ← (byte) bitmap_line_ydxd::e#4 - (byte) bitmap_line_ydxd::yd#3
|
|
(byte) bitmap_line_ydxd::e#2 ← (byte~) bitmap_line_ydxd::$5
|
|
to:bitmap_line_ydxd::@2
|
|
bitmap_line_ydxd::@return: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@2
|
|
return
|
|
to:@return
|
|
@12: scope:[] from @4
|
|
(byte*) SCREEN#0 ← ((byte*)) (word/signed word/dword/signed dword) $400
|
|
(byte*) BITMAP#0 ← ((byte*)) (word/signed word/dword/signed dword) $2000
|
|
(byte[]) lines_x#0 ← { (byte/signed byte/word/signed word/dword/signed dword) $3c, (byte/signed byte/word/signed word/dword/signed dword) $50, (byte/signed byte/word/signed word/dword/signed dword) $6e, (byte/signed byte/word/signed word/dword/signed dword) $50, (byte/signed byte/word/signed word/dword/signed dword) $3c, (byte/signed byte/word/signed word/dword/signed dword) $28, (byte/signed byte/word/signed word/dword/signed dword) $a, (byte/signed byte/word/signed word/dword/signed dword) $28, (byte/signed byte/word/signed word/dword/signed dword) $3c }
|
|
(byte[]) lines_y#0 ← { (byte/signed byte/word/signed word/dword/signed dword) $a, (byte/signed byte/word/signed word/dword/signed dword) $28, (byte/signed byte/word/signed word/dword/signed dword) $3c, (byte/signed byte/word/signed word/dword/signed dword) $50, (byte/signed byte/word/signed word/dword/signed dword) $6e, (byte/signed byte/word/signed word/dword/signed dword) $50, (byte/signed byte/word/signed word/dword/signed dword) $3c, (byte/signed byte/word/signed word/dword/signed dword) $28, (byte/signed byte/word/signed word/dword/signed dword) $a }
|
|
(byte) lines_cnt#0 ← (byte/signed byte/word/signed word/dword/signed dword) 8
|
|
to:@15
|
|
main: scope:[main] from @15
|
|
*((byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
|
*((byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
|
(byte~) main::$0 ← (byte) VIC_BMM#0 | (byte) VIC_DEN#0
|
|
(byte~) main::$1 ← (byte~) main::$0 | (byte) VIC_RSEL#0
|
|
(byte/word/dword~) main::$2 ← (byte~) main::$1 | (byte/signed byte/word/signed word/dword/signed dword) 3
|
|
*((byte*) D011#0) ← (byte/word/dword~) main::$2
|
|
(word~) main::$3 ← ((word)) (byte*) SCREEN#0
|
|
(word~) main::$4 ← (word~) main::$3 & (word/signed word/dword/signed dword) $3fff
|
|
(word/signed dword/dword~) main::$5 ← (word~) main::$4 / (byte/signed byte/word/signed word/dword/signed dword) $40
|
|
(word~) main::$6 ← ((word)) (byte*) BITMAP#0
|
|
(word~) main::$7 ← (word~) main::$6 & (word/signed word/dword/signed dword) $3fff
|
|
(word/signed dword/dword~) main::$8 ← (word~) main::$7 / (word/signed word/dword/signed dword) $400
|
|
(word/dword~) main::$9 ← (word/signed dword/dword~) main::$5 | (word/signed dword/dword~) main::$8
|
|
(byte~) main::$10 ← ((byte)) (word/dword~) main::$9
|
|
*((byte*) VIC_MEMORY#0) ← (byte~) main::$10
|
|
(byte*) bitmap_init::bitmap#0 ← (byte*) BITMAP#0
|
|
call bitmap_init
|
|
to:main::@3
|
|
main::@3: scope:[main] from main
|
|
call bitmap_clear
|
|
to:main::@4
|
|
main::@4: scope:[main] from main::@3
|
|
call init_screen
|
|
to:main::@5
|
|
main::@5: scope:[main] from main::@4
|
|
to:main::@1
|
|
main::@1: scope:[main] from main::@5 main::@6
|
|
call lines
|
|
to:main::@6
|
|
main::@6: scope:[main] from main::@1
|
|
if(true) goto main::@1
|
|
to:main::@return
|
|
main::@return: scope:[main] from main::@6
|
|
return
|
|
to:@return
|
|
lines: scope:[lines] from main::@1
|
|
(byte) lines::l#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
|
to:lines::@1
|
|
lines::@1: scope:[lines] from lines lines::@3
|
|
(byte) lines::l#2 ← phi( lines/(byte) lines::l#0 lines::@3/(byte) lines::l#1 )
|
|
(byte/signed word/word/dword/signed dword~) lines::$0 ← (byte) lines::l#2 + (byte/signed byte/word/signed word/dword/signed dword) 1
|
|
(byte/signed word/word/dword/signed dword~) lines::$1 ← (byte) lines::l#2 + (byte/signed byte/word/signed word/dword/signed dword) 1
|
|
(byte) bitmap_line::x0#0 ← *((byte[]) lines_x#0 + (byte) lines::l#2)
|
|
(byte) bitmap_line::x1#0 ← *((byte[]) lines_x#0 + (byte/signed word/word/dword/signed dword~) lines::$0)
|
|
(byte) bitmap_line::y0#0 ← *((byte[]) lines_y#0 + (byte) lines::l#2)
|
|
(byte) bitmap_line::y1#0 ← *((byte[]) lines_y#0 + (byte/signed word/word/dword/signed dword~) lines::$1)
|
|
call bitmap_line
|
|
to:lines::@3
|
|
lines::@3: scope:[lines] from lines::@1
|
|
(byte) lines::l#3 ← phi( lines::@1/(byte) lines::l#2 )
|
|
(byte) lines::l#1 ← ++ (byte) lines::l#3
|
|
(bool~) lines::$3 ← (byte) lines::l#1 < (byte) lines_cnt#0
|
|
if((bool~) lines::$3) goto lines::@1
|
|
to:lines::@return
|
|
lines::@return: scope:[lines] from lines::@3
|
|
return
|
|
to:@return
|
|
init_screen: scope:[init_screen] from main::@4
|
|
(byte*) init_screen::c#0 ← (byte*) SCREEN#0
|
|
to:init_screen::@1
|
|
init_screen::@1: scope:[init_screen] from init_screen init_screen::@1
|
|
(byte*) init_screen::c#2 ← phi( init_screen/(byte*) init_screen::c#0 init_screen::@1/(byte*) init_screen::c#1 )
|
|
*((byte*) init_screen::c#2) ← (byte/signed byte/word/signed word/dword/signed dword) $14
|
|
(byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2
|
|
(byte*~) init_screen::$0 ← (byte*) SCREEN#0 + (word/signed word/dword/signed dword) $400
|
|
(bool~) init_screen::$1 ← (byte*) init_screen::c#1 != (byte*~) init_screen::$0
|
|
if((bool~) init_screen::$1) goto init_screen::@1
|
|
to:init_screen::@return
|
|
init_screen::@return: scope:[init_screen] from init_screen::@1
|
|
return
|
|
to:@return
|
|
@15: scope:[] from @12
|
|
call main
|
|
to:@16
|
|
@16: scope:[] from @15
|
|
to:@end
|
|
@end: scope:[] from @16
|
|
|
|
SYMBOL TABLE SSA
|
|
(label) @12
|
|
(label) @15
|
|
(label) @16
|
|
(label) @4
|
|
(label) @begin
|
|
(label) @end
|
|
(byte*) BGCOL
|
|
(byte*) BGCOL#0
|
|
(byte*) BITMAP
|
|
(byte*) BITMAP#0
|
|
(byte*) BORDERCOL
|
|
(byte*) BORDERCOL#0
|
|
(byte*) D011
|
|
(byte*) D011#0
|
|
(byte*) SCREEN
|
|
(byte*) SCREEN#0
|
|
(byte) VIC_BMM
|
|
(byte) VIC_BMM#0
|
|
(byte) VIC_DEN
|
|
(byte) VIC_DEN#0
|
|
(byte*) VIC_MEMORY
|
|
(byte*) VIC_MEMORY#0
|
|
(byte) VIC_RSEL
|
|
(byte) VIC_RSEL#0
|
|
(void()) bitmap_clear()
|
|
(byte*~) bitmap_clear::$0
|
|
(bool~) bitmap_clear::$1
|
|
(bool~) bitmap_clear::$2
|
|
(label) bitmap_clear::@1
|
|
(label) bitmap_clear::@2
|
|
(label) bitmap_clear::@3
|
|
(label) bitmap_clear::@return
|
|
(byte*) bitmap_clear::bitmap
|
|
(byte*) bitmap_clear::bitmap#0
|
|
(byte*) bitmap_clear::bitmap#1
|
|
(byte*) bitmap_clear::bitmap#2
|
|
(byte*) bitmap_clear::bitmap#3
|
|
(byte*) bitmap_clear::bitmap#4
|
|
(byte) bitmap_clear::x
|
|
(byte) bitmap_clear::x#0
|
|
(byte) bitmap_clear::x#1
|
|
(byte) bitmap_clear::x#2
|
|
(byte) bitmap_clear::y
|
|
(byte) bitmap_clear::y#0
|
|
(byte) bitmap_clear::y#1
|
|
(byte) bitmap_clear::y#2
|
|
(byte) bitmap_clear::y#3
|
|
(byte) bitmap_clear::y#4
|
|
(void()) bitmap_init((byte*) bitmap_init::bitmap)
|
|
(byte~) bitmap_init::$0
|
|
(byte~) bitmap_init::$1
|
|
(byte~) bitmap_init::$10
|
|
(bool~) bitmap_init::$11
|
|
(bool~) bitmap_init::$12
|
|
(word/signed word/dword/signed dword~) bitmap_init::$13
|
|
(byte*~) bitmap_init::$14
|
|
(bool~) bitmap_init::$15
|
|
(byte~) bitmap_init::$2
|
|
(bool~) bitmap_init::$3
|
|
(bool~) bitmap_init::$4
|
|
(bool~) bitmap_init::$5
|
|
(byte~) bitmap_init::$6
|
|
(byte~) bitmap_init::$7
|
|
(byte~) bitmap_init::$8
|
|
(byte~) bitmap_init::$9
|
|
(label) bitmap_init::@1
|
|
(label) bitmap_init::@2
|
|
(label) bitmap_init::@3
|
|
(label) bitmap_init::@4
|
|
(label) bitmap_init::@5
|
|
(label) bitmap_init::@6
|
|
(label) bitmap_init::@7
|
|
(label) bitmap_init::@return
|
|
(byte*) bitmap_init::bitmap
|
|
(byte*) bitmap_init::bitmap#0
|
|
(byte*) bitmap_init::bitmap#1
|
|
(byte*) bitmap_init::bitmap#2
|
|
(byte*) bitmap_init::bitmap#3
|
|
(byte*) bitmap_init::bitmap#4
|
|
(byte) bitmap_init::bits
|
|
(byte) bitmap_init::bits#0
|
|
(byte) bitmap_init::bits#1
|
|
(byte) bitmap_init::bits#2
|
|
(byte) bitmap_init::bits#3
|
|
(byte) bitmap_init::bits#4
|
|
(byte) bitmap_init::x
|
|
(byte) bitmap_init::x#0
|
|
(byte) bitmap_init::x#1
|
|
(byte) bitmap_init::x#2
|
|
(byte) bitmap_init::x#3
|
|
(byte) bitmap_init::x#4
|
|
(byte) bitmap_init::y
|
|
(byte) bitmap_init::y#0
|
|
(byte) bitmap_init::y#1
|
|
(byte) bitmap_init::y#2
|
|
(byte) bitmap_init::y#3
|
|
(byte) bitmap_init::y#4
|
|
(byte*) bitmap_init::yoffs
|
|
(byte*) bitmap_init::yoffs#0
|
|
(byte*) bitmap_init::yoffs#1
|
|
(byte*) bitmap_init::yoffs#2
|
|
(byte*) bitmap_init::yoffs#3
|
|
(byte*) bitmap_init::yoffs#4
|
|
(void()) bitmap_line((byte) bitmap_line::x0 , (byte) bitmap_line::x1 , (byte) bitmap_line::y0 , (byte) bitmap_line::y1)
|
|
(bool~) bitmap_line::$0
|
|
(byte~) bitmap_line::$1
|
|
(byte~) bitmap_line::$11
|
|
(bool~) bitmap_line::$12
|
|
(byte~) bitmap_line::$13
|
|
(bool~) bitmap_line::$14
|
|
(byte~) bitmap_line::$17
|
|
(bool~) bitmap_line::$18
|
|
(bool~) bitmap_line::$2
|
|
(byte~) bitmap_line::$3
|
|
(bool~) bitmap_line::$4
|
|
(byte~) bitmap_line::$7
|
|
(bool~) bitmap_line::$8
|
|
(label) bitmap_line::@1
|
|
(label) bitmap_line::@10
|
|
(label) bitmap_line::@11
|
|
(label) bitmap_line::@15
|
|
(label) bitmap_line::@17
|
|
(label) bitmap_line::@20
|
|
(label) bitmap_line::@21
|
|
(label) bitmap_line::@25
|
|
(label) bitmap_line::@27
|
|
(label) bitmap_line::@29
|
|
(label) bitmap_line::@3
|
|
(label) bitmap_line::@30
|
|
(label) bitmap_line::@31
|
|
(label) bitmap_line::@32
|
|
(label) bitmap_line::@33
|
|
(label) bitmap_line::@34
|
|
(label) bitmap_line::@35
|
|
(label) bitmap_line::@36
|
|
(label) bitmap_line::@4
|
|
(label) bitmap_line::@5
|
|
(label) bitmap_line::@7
|
|
(label) bitmap_line::@8
|
|
(label) bitmap_line::@return
|
|
(byte) bitmap_line::x0
|
|
(byte) bitmap_line::x0#0
|
|
(byte) bitmap_line::x0#1
|
|
(byte) bitmap_line::x0#10
|
|
(byte) bitmap_line::x0#11
|
|
(byte) bitmap_line::x0#12
|
|
(byte) bitmap_line::x0#13
|
|
(byte) bitmap_line::x0#2
|
|
(byte) bitmap_line::x0#3
|
|
(byte) bitmap_line::x0#4
|
|
(byte) bitmap_line::x0#5
|
|
(byte) bitmap_line::x0#6
|
|
(byte) bitmap_line::x0#7
|
|
(byte) bitmap_line::x0#8
|
|
(byte) bitmap_line::x0#9
|
|
(byte) bitmap_line::x1
|
|
(byte) bitmap_line::x1#0
|
|
(byte) bitmap_line::x1#1
|
|
(byte) bitmap_line::x1#10
|
|
(byte) bitmap_line::x1#11
|
|
(byte) bitmap_line::x1#12
|
|
(byte) bitmap_line::x1#13
|
|
(byte) bitmap_line::x1#2
|
|
(byte) bitmap_line::x1#3
|
|
(byte) bitmap_line::x1#4
|
|
(byte) bitmap_line::x1#5
|
|
(byte) bitmap_line::x1#6
|
|
(byte) bitmap_line::x1#7
|
|
(byte) bitmap_line::x1#8
|
|
(byte) bitmap_line::x1#9
|
|
(byte) bitmap_line::xd
|
|
(byte) bitmap_line::xd#0
|
|
(byte) bitmap_line::xd#1
|
|
(byte) bitmap_line::xd#10
|
|
(byte) bitmap_line::xd#11
|
|
(byte) bitmap_line::xd#12
|
|
(byte) bitmap_line::xd#13
|
|
(byte) bitmap_line::xd#14
|
|
(byte) bitmap_line::xd#2
|
|
(byte) bitmap_line::xd#3
|
|
(byte) bitmap_line::xd#4
|
|
(byte) bitmap_line::xd#5
|
|
(byte) bitmap_line::xd#6
|
|
(byte) bitmap_line::xd#7
|
|
(byte) bitmap_line::xd#8
|
|
(byte) bitmap_line::xd#9
|
|
(byte) bitmap_line::y0
|
|
(byte) bitmap_line::y0#0
|
|
(byte) bitmap_line::y0#1
|
|
(byte) bitmap_line::y0#10
|
|
(byte) bitmap_line::y0#11
|
|
(byte) bitmap_line::y0#12
|
|
(byte) bitmap_line::y0#13
|
|
(byte) bitmap_line::y0#2
|
|
(byte) bitmap_line::y0#3
|
|
(byte) bitmap_line::y0#4
|
|
(byte) bitmap_line::y0#5
|
|
(byte) bitmap_line::y0#6
|
|
(byte) bitmap_line::y0#7
|
|
(byte) bitmap_line::y0#8
|
|
(byte) bitmap_line::y0#9
|
|
(byte) bitmap_line::y1
|
|
(byte) bitmap_line::y1#0
|
|
(byte) bitmap_line::y1#1
|
|
(byte) bitmap_line::y1#10
|
|
(byte) bitmap_line::y1#11
|
|
(byte) bitmap_line::y1#12
|
|
(byte) bitmap_line::y1#13
|
|
(byte) bitmap_line::y1#2
|
|
(byte) bitmap_line::y1#3
|
|
(byte) bitmap_line::y1#4
|
|
(byte) bitmap_line::y1#5
|
|
(byte) bitmap_line::y1#6
|
|
(byte) bitmap_line::y1#7
|
|
(byte) bitmap_line::y1#8
|
|
(byte) bitmap_line::y1#9
|
|
(byte) bitmap_line::yd
|
|
(byte) bitmap_line::yd#0
|
|
(byte) bitmap_line::yd#1
|
|
(byte) bitmap_line::yd#10
|
|
(byte) bitmap_line::yd#11
|
|
(byte) bitmap_line::yd#12
|
|
(byte) bitmap_line::yd#2
|
|
(byte) bitmap_line::yd#3
|
|
(byte) bitmap_line::yd#4
|
|
(byte) bitmap_line::yd#5
|
|
(byte) bitmap_line::yd#6
|
|
(byte) bitmap_line::yd#7
|
|
(byte) bitmap_line::yd#8
|
|
(byte) bitmap_line::yd#9
|
|
(void()) bitmap_line_xdyd((byte) bitmap_line_xdyd::x , (byte) bitmap_line_xdyd::y , (byte) bitmap_line_xdyd::x1 , (byte) bitmap_line_xdyd::xd , (byte) bitmap_line_xdyd::yd)
|
|
(byte~) bitmap_line_xdyd::$0
|
|
(byte~) bitmap_line_xdyd::$2
|
|
(bool~) bitmap_line_xdyd::$3
|
|
(bool~) bitmap_line_xdyd::$4
|
|
(byte~) bitmap_line_xdyd::$5
|
|
(byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6
|
|
(bool~) bitmap_line_xdyd::$7
|
|
(label) bitmap_line_xdyd::@1
|
|
(label) bitmap_line_xdyd::@2
|
|
(label) bitmap_line_xdyd::@3
|
|
(label) bitmap_line_xdyd::@5
|
|
(label) bitmap_line_xdyd::@return
|
|
(byte) bitmap_line_xdyd::e
|
|
(byte) bitmap_line_xdyd::e#0
|
|
(byte) bitmap_line_xdyd::e#1
|
|
(byte) bitmap_line_xdyd::e#2
|
|
(byte) bitmap_line_xdyd::e#3
|
|
(byte) bitmap_line_xdyd::e#4
|
|
(byte) bitmap_line_xdyd::e#5
|
|
(byte) bitmap_line_xdyd::e#6
|
|
(byte) bitmap_line_xdyd::x
|
|
(byte) bitmap_line_xdyd::x#0
|
|
(byte) bitmap_line_xdyd::x#1
|
|
(byte) bitmap_line_xdyd::x#2
|
|
(byte) bitmap_line_xdyd::x#3
|
|
(byte) bitmap_line_xdyd::x#4
|
|
(byte) bitmap_line_xdyd::x#5
|
|
(byte) bitmap_line_xdyd::x#6
|
|
(byte) bitmap_line_xdyd::x#7
|
|
(byte) bitmap_line_xdyd::x1
|
|
(byte) bitmap_line_xdyd::x1#0
|
|
(byte) bitmap_line_xdyd::x1#1
|
|
(byte) bitmap_line_xdyd::x1#2
|
|
(byte) bitmap_line_xdyd::x1#3
|
|
(byte) bitmap_line_xdyd::x1#4
|
|
(byte) bitmap_line_xdyd::x1#5
|
|
(byte) bitmap_line_xdyd::x1#6
|
|
(byte) bitmap_line_xdyd::xd
|
|
(byte) bitmap_line_xdyd::xd#0
|
|
(byte) bitmap_line_xdyd::xd#1
|
|
(byte) bitmap_line_xdyd::xd#2
|
|
(byte) bitmap_line_xdyd::xd#3
|
|
(byte) bitmap_line_xdyd::xd#4
|
|
(byte) bitmap_line_xdyd::xd#5
|
|
(byte) bitmap_line_xdyd::xd#6
|
|
(byte) bitmap_line_xdyd::y
|
|
(byte) bitmap_line_xdyd::y#0
|
|
(byte) bitmap_line_xdyd::y#1
|
|
(byte) bitmap_line_xdyd::y#2
|
|
(byte) bitmap_line_xdyd::y#3
|
|
(byte) bitmap_line_xdyd::y#4
|
|
(byte) bitmap_line_xdyd::y#5
|
|
(byte) bitmap_line_xdyd::y#6
|
|
(byte) bitmap_line_xdyd::y#7
|
|
(byte) bitmap_line_xdyd::yd
|
|
(byte) bitmap_line_xdyd::yd#0
|
|
(byte) bitmap_line_xdyd::yd#1
|
|
(byte) bitmap_line_xdyd::yd#2
|
|
(byte) bitmap_line_xdyd::yd#3
|
|
(byte) bitmap_line_xdyd::yd#4
|
|
(byte) bitmap_line_xdyd::yd#5
|
|
(byte) bitmap_line_xdyd::yd#6
|
|
(void()) bitmap_line_xdyi((byte) bitmap_line_xdyi::x , (byte) bitmap_line_xdyi::y , (byte) bitmap_line_xdyi::x1 , (byte) bitmap_line_xdyi::xd , (byte) bitmap_line_xdyi::yd)
|
|
(byte~) bitmap_line_xdyi::$0
|
|
(byte~) bitmap_line_xdyi::$2
|
|
(bool~) bitmap_line_xdyi::$3
|
|
(bool~) bitmap_line_xdyi::$4
|
|
(byte~) bitmap_line_xdyi::$5
|
|
(byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6
|
|
(bool~) bitmap_line_xdyi::$7
|
|
(label) bitmap_line_xdyi::@1
|
|
(label) bitmap_line_xdyi::@2
|
|
(label) bitmap_line_xdyi::@3
|
|
(label) bitmap_line_xdyi::@5
|
|
(label) bitmap_line_xdyi::@return
|
|
(byte) bitmap_line_xdyi::e
|
|
(byte) bitmap_line_xdyi::e#0
|
|
(byte) bitmap_line_xdyi::e#1
|
|
(byte) bitmap_line_xdyi::e#2
|
|
(byte) bitmap_line_xdyi::e#3
|
|
(byte) bitmap_line_xdyi::e#4
|
|
(byte) bitmap_line_xdyi::e#5
|
|
(byte) bitmap_line_xdyi::e#6
|
|
(byte) bitmap_line_xdyi::x
|
|
(byte) bitmap_line_xdyi::x#0
|
|
(byte) bitmap_line_xdyi::x#1
|
|
(byte) bitmap_line_xdyi::x#2
|
|
(byte) bitmap_line_xdyi::x#3
|
|
(byte) bitmap_line_xdyi::x#4
|
|
(byte) bitmap_line_xdyi::x#5
|
|
(byte) bitmap_line_xdyi::x#6
|
|
(byte) bitmap_line_xdyi::x#7
|
|
(byte) bitmap_line_xdyi::x1
|
|
(byte) bitmap_line_xdyi::x1#0
|
|
(byte) bitmap_line_xdyi::x1#1
|
|
(byte) bitmap_line_xdyi::x1#2
|
|
(byte) bitmap_line_xdyi::x1#3
|
|
(byte) bitmap_line_xdyi::x1#4
|
|
(byte) bitmap_line_xdyi::x1#5
|
|
(byte) bitmap_line_xdyi::x1#6
|
|
(byte) bitmap_line_xdyi::xd
|
|
(byte) bitmap_line_xdyi::xd#0
|
|
(byte) bitmap_line_xdyi::xd#1
|
|
(byte) bitmap_line_xdyi::xd#2
|
|
(byte) bitmap_line_xdyi::xd#3
|
|
(byte) bitmap_line_xdyi::xd#4
|
|
(byte) bitmap_line_xdyi::xd#5
|
|
(byte) bitmap_line_xdyi::xd#6
|
|
(byte) bitmap_line_xdyi::y
|
|
(byte) bitmap_line_xdyi::y#0
|
|
(byte) bitmap_line_xdyi::y#1
|
|
(byte) bitmap_line_xdyi::y#2
|
|
(byte) bitmap_line_xdyi::y#3
|
|
(byte) bitmap_line_xdyi::y#4
|
|
(byte) bitmap_line_xdyi::y#5
|
|
(byte) bitmap_line_xdyi::y#6
|
|
(byte) bitmap_line_xdyi::y#7
|
|
(byte) bitmap_line_xdyi::yd
|
|
(byte) bitmap_line_xdyi::yd#0
|
|
(byte) bitmap_line_xdyi::yd#1
|
|
(byte) bitmap_line_xdyi::yd#2
|
|
(byte) bitmap_line_xdyi::yd#3
|
|
(byte) bitmap_line_xdyi::yd#4
|
|
(byte) bitmap_line_xdyi::yd#5
|
|
(byte) bitmap_line_xdyi::yd#6
|
|
(void()) bitmap_line_ydxd((byte) bitmap_line_ydxd::y , (byte) bitmap_line_ydxd::x , (byte) bitmap_line_ydxd::y1 , (byte) bitmap_line_ydxd::yd , (byte) bitmap_line_ydxd::xd)
|
|
(byte~) bitmap_line_ydxd::$0
|
|
(byte~) bitmap_line_ydxd::$2
|
|
(bool~) bitmap_line_ydxd::$3
|
|
(bool~) bitmap_line_ydxd::$4
|
|
(byte~) bitmap_line_ydxd::$5
|
|
(byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6
|
|
(bool~) bitmap_line_ydxd::$7
|
|
(label) bitmap_line_ydxd::@1
|
|
(label) bitmap_line_ydxd::@2
|
|
(label) bitmap_line_ydxd::@3
|
|
(label) bitmap_line_ydxd::@5
|
|
(label) bitmap_line_ydxd::@return
|
|
(byte) bitmap_line_ydxd::e
|
|
(byte) bitmap_line_ydxd::e#0
|
|
(byte) bitmap_line_ydxd::e#1
|
|
(byte) bitmap_line_ydxd::e#2
|
|
(byte) bitmap_line_ydxd::e#3
|
|
(byte) bitmap_line_ydxd::e#4
|
|
(byte) bitmap_line_ydxd::e#5
|
|
(byte) bitmap_line_ydxd::e#6
|
|
(byte) bitmap_line_ydxd::x
|
|
(byte) bitmap_line_ydxd::x#0
|
|
(byte) bitmap_line_ydxd::x#1
|
|
(byte) bitmap_line_ydxd::x#2
|
|
(byte) bitmap_line_ydxd::x#3
|
|
(byte) bitmap_line_ydxd::x#4
|
|
(byte) bitmap_line_ydxd::x#5
|
|
(byte) bitmap_line_ydxd::x#6
|
|
(byte) bitmap_line_ydxd::x#7
|
|
(byte) bitmap_line_ydxd::xd
|
|
(byte) bitmap_line_ydxd::xd#0
|
|
(byte) bitmap_line_ydxd::xd#1
|
|
(byte) bitmap_line_ydxd::xd#2
|
|
(byte) bitmap_line_ydxd::xd#3
|
|
(byte) bitmap_line_ydxd::xd#4
|
|
(byte) bitmap_line_ydxd::xd#5
|
|
(byte) bitmap_line_ydxd::xd#6
|
|
(byte) bitmap_line_ydxd::y
|
|
(byte) bitmap_line_ydxd::y#0
|
|
(byte) bitmap_line_ydxd::y#1
|
|
(byte) bitmap_line_ydxd::y#2
|
|
(byte) bitmap_line_ydxd::y#3
|
|
(byte) bitmap_line_ydxd::y#4
|
|
(byte) bitmap_line_ydxd::y#5
|
|
(byte) bitmap_line_ydxd::y#6
|
|
(byte) bitmap_line_ydxd::y#7
|
|
(byte) bitmap_line_ydxd::y#8
|
|
(byte) bitmap_line_ydxd::y1
|
|
(byte) bitmap_line_ydxd::y1#0
|
|
(byte) bitmap_line_ydxd::y1#1
|
|
(byte) bitmap_line_ydxd::y1#2
|
|
(byte) bitmap_line_ydxd::y1#3
|
|
(byte) bitmap_line_ydxd::y1#4
|
|
(byte) bitmap_line_ydxd::y1#5
|
|
(byte) bitmap_line_ydxd::y1#6
|
|
(byte) bitmap_line_ydxd::yd
|
|
(byte) bitmap_line_ydxd::yd#0
|
|
(byte) bitmap_line_ydxd::yd#1
|
|
(byte) bitmap_line_ydxd::yd#2
|
|
(byte) bitmap_line_ydxd::yd#3
|
|
(byte) bitmap_line_ydxd::yd#4
|
|
(byte) bitmap_line_ydxd::yd#5
|
|
(byte) bitmap_line_ydxd::yd#6
|
|
(void()) bitmap_line_ydxi((byte) bitmap_line_ydxi::y , (byte) bitmap_line_ydxi::x , (byte) bitmap_line_ydxi::y1 , (byte) bitmap_line_ydxi::yd , (byte) bitmap_line_ydxi::xd)
|
|
(byte~) bitmap_line_ydxi::$0
|
|
(byte~) bitmap_line_ydxi::$2
|
|
(bool~) bitmap_line_ydxi::$3
|
|
(bool~) bitmap_line_ydxi::$4
|
|
(byte~) bitmap_line_ydxi::$5
|
|
(byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6
|
|
(bool~) bitmap_line_ydxi::$7
|
|
(label) bitmap_line_ydxi::@1
|
|
(label) bitmap_line_ydxi::@2
|
|
(label) bitmap_line_ydxi::@3
|
|
(label) bitmap_line_ydxi::@5
|
|
(label) bitmap_line_ydxi::@return
|
|
(byte) bitmap_line_ydxi::e
|
|
(byte) bitmap_line_ydxi::e#0
|
|
(byte) bitmap_line_ydxi::e#1
|
|
(byte) bitmap_line_ydxi::e#2
|
|
(byte) bitmap_line_ydxi::e#3
|
|
(byte) bitmap_line_ydxi::e#4
|
|
(byte) bitmap_line_ydxi::e#5
|
|
(byte) bitmap_line_ydxi::e#6
|
|
(byte) bitmap_line_ydxi::x
|
|
(byte) bitmap_line_ydxi::x#0
|
|
(byte) bitmap_line_ydxi::x#1
|
|
(byte) bitmap_line_ydxi::x#2
|
|
(byte) bitmap_line_ydxi::x#3
|
|
(byte) bitmap_line_ydxi::x#4
|
|
(byte) bitmap_line_ydxi::x#5
|
|
(byte) bitmap_line_ydxi::x#6
|
|
(byte) bitmap_line_ydxi::x#7
|
|
(byte) bitmap_line_ydxi::xd
|
|
(byte) bitmap_line_ydxi::xd#0
|
|
(byte) bitmap_line_ydxi::xd#1
|
|
(byte) bitmap_line_ydxi::xd#2
|
|
(byte) bitmap_line_ydxi::xd#3
|
|
(byte) bitmap_line_ydxi::xd#4
|
|
(byte) bitmap_line_ydxi::xd#5
|
|
(byte) bitmap_line_ydxi::xd#6
|
|
(byte) bitmap_line_ydxi::y
|
|
(byte) bitmap_line_ydxi::y#0
|
|
(byte) bitmap_line_ydxi::y#1
|
|
(byte) bitmap_line_ydxi::y#2
|
|
(byte) bitmap_line_ydxi::y#3
|
|
(byte) bitmap_line_ydxi::y#4
|
|
(byte) bitmap_line_ydxi::y#5
|
|
(byte) bitmap_line_ydxi::y#6
|
|
(byte) bitmap_line_ydxi::y#7
|
|
(byte) bitmap_line_ydxi::y1
|
|
(byte) bitmap_line_ydxi::y1#0
|
|
(byte) bitmap_line_ydxi::y1#1
|
|
(byte) bitmap_line_ydxi::y1#2
|
|
(byte) bitmap_line_ydxi::y1#3
|
|
(byte) bitmap_line_ydxi::y1#4
|
|
(byte) bitmap_line_ydxi::y1#5
|
|
(byte) bitmap_line_ydxi::y1#6
|
|
(byte) bitmap_line_ydxi::yd
|
|
(byte) bitmap_line_ydxi::yd#0
|
|
(byte) bitmap_line_ydxi::yd#1
|
|
(byte) bitmap_line_ydxi::yd#2
|
|
(byte) bitmap_line_ydxi::yd#3
|
|
(byte) bitmap_line_ydxi::yd#4
|
|
(byte) bitmap_line_ydxi::yd#5
|
|
(byte) bitmap_line_ydxi::yd#6
|
|
(void()) bitmap_plot((byte) bitmap_plot::x , (byte) bitmap_plot::y)
|
|
(word~) bitmap_plot::$0
|
|
(byte~) bitmap_plot::$1
|
|
(label) bitmap_plot::@return
|
|
(byte*) bitmap_plot::plotter
|
|
(byte*) bitmap_plot::plotter#0
|
|
(word) bitmap_plot::plotter_x
|
|
(word) bitmap_plot::plotter_x#0
|
|
(word) bitmap_plot::plotter_y
|
|
(word) bitmap_plot::plotter_y#0
|
|
(byte) bitmap_plot::x
|
|
(byte) bitmap_plot::x#0
|
|
(byte) bitmap_plot::x#1
|
|
(byte) bitmap_plot::x#2
|
|
(byte) bitmap_plot::x#3
|
|
(byte) bitmap_plot::x#4
|
|
(byte) bitmap_plot::y
|
|
(byte) bitmap_plot::y#0
|
|
(byte) bitmap_plot::y#1
|
|
(byte) bitmap_plot::y#2
|
|
(byte) bitmap_plot::y#3
|
|
(byte) bitmap_plot::y#4
|
|
(byte[$100]) bitmap_plot_bit
|
|
(byte[$100]) bitmap_plot_bit#0
|
|
(byte[$100]) bitmap_plot_xhi
|
|
(byte[$100]) bitmap_plot_xhi#0
|
|
(byte[$100]) bitmap_plot_xlo
|
|
(byte[$100]) bitmap_plot_xlo#0
|
|
(byte[$100]) bitmap_plot_yhi
|
|
(byte[$100]) bitmap_plot_yhi#0
|
|
(byte[$100]) bitmap_plot_ylo
|
|
(byte[$100]) bitmap_plot_ylo#0
|
|
(void()) init_screen()
|
|
(byte*~) init_screen::$0
|
|
(bool~) init_screen::$1
|
|
(label) init_screen::@1
|
|
(label) init_screen::@return
|
|
(byte*) init_screen::c
|
|
(byte*) init_screen::c#0
|
|
(byte*) init_screen::c#1
|
|
(byte*) init_screen::c#2
|
|
(void()) lines()
|
|
(byte/signed word/word/dword/signed dword~) lines::$0
|
|
(byte/signed word/word/dword/signed dword~) lines::$1
|
|
(bool~) lines::$3
|
|
(label) lines::@1
|
|
(label) lines::@3
|
|
(label) lines::@return
|
|
(byte) lines::l
|
|
(byte) lines::l#0
|
|
(byte) lines::l#1
|
|
(byte) lines::l#2
|
|
(byte) lines::l#3
|
|
(byte) lines_cnt
|
|
(byte) lines_cnt#0
|
|
(byte[]) lines_x
|
|
(byte[]) lines_x#0
|
|
(byte[]) lines_y
|
|
(byte[]) lines_y#0
|
|
(void()) main()
|
|
(byte~) main::$0
|
|
(byte~) main::$1
|
|
(byte~) main::$10
|
|
(byte/word/dword~) main::$2
|
|
(word~) main::$3
|
|
(word~) main::$4
|
|
(word/signed dword/dword~) main::$5
|
|
(word~) main::$6
|
|
(word~) main::$7
|
|
(word/signed dword/dword~) main::$8
|
|
(word/dword~) main::$9
|
|
(label) main::@1
|
|
(label) main::@3
|
|
(label) main::@4
|
|
(label) main::@5
|
|
(label) main::@6
|
|
(label) main::@return
|
|
|
|
Culled Empty Block (label) bitmap_line::@29
|
|
Culled Empty Block (label) bitmap_line::@30
|
|
Culled Empty Block (label) bitmap_line::@31
|
|
Culled Empty Block (label) bitmap_line::@32
|
|
Culled Empty Block (label) bitmap_line::@33
|
|
Culled Empty Block (label) bitmap_line::@34
|
|
Culled Empty Block (label) bitmap_line::@35
|
|
Culled Empty Block (label) bitmap_line::@36
|
|
Culled Empty Block (label) main::@5
|
|
Culled Empty Block (label) @16
|
|
Successful SSA optimization Pass2CullEmptyBlocks
|
|
Inversing boolean not [24] (bool~) bitmap_init::$4 ← (byte) bitmap_init::bits#1 != (byte/signed byte/word/signed word/dword/signed dword) 0 from [23] (bool~) bitmap_init::$3 ← (byte) bitmap_init::bits#1 == (byte/signed byte/word/signed word/dword/signed dword) 0
|
|
Inversing boolean not [43] (bool~) bitmap_init::$12 ← (byte~) bitmap_init::$10 != (byte/signed byte/word/signed word/dword/signed dword) 7 from [42] (bool~) bitmap_init::$11 ← (byte~) bitmap_init::$10 == (byte/signed byte/word/signed word/dword/signed dword) 7
|
|
Inversing boolean not [182] (bool~) bitmap_line_xdyi::$4 ← (byte) bitmap_line_xdyi::xd#2 >= (byte) bitmap_line_xdyi::e#1 from [181] (bool~) bitmap_line_xdyi::$3 ← (byte) bitmap_line_xdyi::xd#2 < (byte) bitmap_line_xdyi::e#1
|
|
Inversing boolean not [205] (bool~) bitmap_line_xdyd::$4 ← (byte) bitmap_line_xdyd::xd#2 >= (byte) bitmap_line_xdyd::e#1 from [204] (bool~) bitmap_line_xdyd::$3 ← (byte) bitmap_line_xdyd::xd#2 < (byte) bitmap_line_xdyd::e#1
|
|
Inversing boolean not [228] (bool~) bitmap_line_ydxi::$4 ← (byte) bitmap_line_ydxi::yd#2 >= (byte) bitmap_line_ydxi::e#1 from [227] (bool~) bitmap_line_ydxi::$3 ← (byte) bitmap_line_ydxi::yd#2 < (byte) bitmap_line_ydxi::e#1
|
|
Inversing boolean not [252] (bool~) bitmap_line_ydxd::$4 ← (byte) bitmap_line_ydxd::yd#2 >= (byte) bitmap_line_ydxd::e#1 from [251] (bool~) bitmap_line_ydxd::$3 ← (byte) bitmap_line_ydxd::yd#2 < (byte) bitmap_line_ydxd::e#1
|
|
Successful SSA optimization Pass2UnaryNotSimplification
|
|
Alias (byte) bitmap_init::bits#1 = (byte~) bitmap_init::$2
|
|
Alias (byte) bitmap_init::x#2 = (byte) bitmap_init::x#4
|
|
Alias (byte*) bitmap_init::bitmap#1 = (byte*) bitmap_init::bitmap#4
|
|
Alias (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#3
|
|
Alias (byte) bitmap_init::y#2 = (byte) bitmap_init::y#4
|
|
Alias (byte*) bitmap_init::yoffs#1 = (byte*~) bitmap_init::$14
|
|
Alias (byte*) bitmap_clear::bitmap#0 = (byte*~) bitmap_clear::$0
|
|
Alias (byte) bitmap_clear::y#2 = (byte) bitmap_clear::y#3
|
|
Alias (byte*) bitmap_clear::bitmap#1 = (byte*) bitmap_clear::bitmap#4
|
|
Alias (byte) bitmap_line::x1#1 = (byte) bitmap_line::x1#2 (byte) bitmap_line::x1#3 (byte) bitmap_line::x1#11 (byte) bitmap_line::x1#10 (byte) bitmap_line::x1#4 (byte) bitmap_line::x1#5 (byte) bitmap_line::x1#6 (byte) bitmap_line::x1#13 (byte) bitmap_line::x1#12 (byte) bitmap_line::x1#7 (byte) bitmap_line::x1#8 (byte) bitmap_line::x1#9
|
|
Alias (byte) bitmap_line::x0#1 = (byte) bitmap_line::x0#2 (byte) bitmap_line::x0#3 (byte) bitmap_line::x0#11 (byte) bitmap_line::x0#10 (byte) bitmap_line::x0#4 (byte) bitmap_line::x0#5 (byte) bitmap_line::x0#6 (byte) bitmap_line::x0#13 (byte) bitmap_line::x0#12 (byte) bitmap_line::x0#7 (byte) bitmap_line::x0#8 (byte) bitmap_line::x0#9
|
|
Alias (byte) bitmap_line::y0#1 = (byte) bitmap_line::y0#13 (byte) bitmap_line::y0#2 (byte) bitmap_line::y0#3 (byte) bitmap_line::y0#4 (byte) bitmap_line::y0#5 (byte) bitmap_line::y0#6 (byte) bitmap_line::y0#7 (byte) bitmap_line::y0#8 (byte) bitmap_line::y0#9 (byte) bitmap_line::y0#10 (byte) bitmap_line::y0#11 (byte) bitmap_line::y0#12
|
|
Alias (byte) bitmap_line::y1#1 = (byte) bitmap_line::y1#13 (byte) bitmap_line::y1#2 (byte) bitmap_line::y1#3 (byte) bitmap_line::y1#4 (byte) bitmap_line::y1#5 (byte) bitmap_line::y1#6 (byte) bitmap_line::y1#7 (byte) bitmap_line::y1#8 (byte) bitmap_line::y1#9 (byte) bitmap_line::y1#10 (byte) bitmap_line::y1#11 (byte) bitmap_line::y1#12
|
|
Alias (byte) bitmap_line::xd#1 = (byte~) bitmap_line::$11 (byte) bitmap_line::xd#9 (byte) bitmap_line::xd#10 (byte) bitmap_line::xd#11 (byte) bitmap_line::xd#12 (byte) bitmap_line::xd#13 (byte) bitmap_line::xd#14
|
|
Alias (byte) bitmap_line::xd#2 = (byte~) bitmap_line::$1 (byte) bitmap_line::xd#3 (byte) bitmap_line::xd#4 (byte) bitmap_line::xd#5 (byte) bitmap_line::xd#6 (byte) bitmap_line::xd#7 (byte) bitmap_line::xd#8
|
|
Alias (byte) bitmap_line::yd#1 = (byte~) bitmap_line::$7 (byte) bitmap_line::yd#7 (byte) bitmap_line::yd#8
|
|
Alias (byte) bitmap_line::yd#2 = (byte~) bitmap_line::$3 (byte) bitmap_line::yd#5 (byte) bitmap_line::yd#6
|
|
Alias (byte) bitmap_line::yd#11 = (byte) bitmap_line::yd#3 (byte~) bitmap_line::$17 (byte) bitmap_line::yd#12
|
|
Alias (byte) bitmap_line::yd#10 = (byte) bitmap_line::yd#4 (byte~) bitmap_line::$13 (byte) bitmap_line::yd#9
|
|
Alias (byte) bitmap_line_xdyi::e#0 = (byte~) bitmap_line_xdyi::$0
|
|
Alias (byte) bitmap_line_xdyi::x#3 = (byte) bitmap_line_xdyi::x#4
|
|
Alias (byte) bitmap_line_xdyi::e#3 = (byte) bitmap_line_xdyi::e#5
|
|
Alias (byte) bitmap_line_xdyi::yd#3 = (byte) bitmap_line_xdyi::yd#4 (byte) bitmap_line_xdyi::yd#6
|
|
Alias (byte) bitmap_line_xdyi::xd#2 = (byte) bitmap_line_xdyi::xd#4 (byte) bitmap_line_xdyi::xd#3
|
|
Alias (byte) bitmap_line_xdyi::x1#3 = (byte) bitmap_line_xdyi::x1#4 (byte) bitmap_line_xdyi::x1#5
|
|
Alias (byte) bitmap_line_xdyi::y#3 = (byte) bitmap_line_xdyi::y#7 (byte) bitmap_line_xdyi::y#4
|
|
Alias (byte) bitmap_line_xdyi::e#1 = (byte~) bitmap_line_xdyi::$2 (byte) bitmap_line_xdyi::e#4
|
|
Alias (byte) bitmap_line_xdyi::x#2 = (byte) bitmap_line_xdyi::x#7
|
|
Alias (byte) bitmap_line_xdyi::e#2 = (byte~) bitmap_line_xdyi::$5
|
|
Alias (byte) bitmap_line_xdyd::e#0 = (byte~) bitmap_line_xdyd::$0
|
|
Alias (byte) bitmap_line_xdyd::x#3 = (byte) bitmap_line_xdyd::x#4
|
|
Alias (byte) bitmap_line_xdyd::e#3 = (byte) bitmap_line_xdyd::e#5
|
|
Alias (byte) bitmap_line_xdyd::yd#3 = (byte) bitmap_line_xdyd::yd#4 (byte) bitmap_line_xdyd::yd#6
|
|
Alias (byte) bitmap_line_xdyd::xd#2 = (byte) bitmap_line_xdyd::xd#4 (byte) bitmap_line_xdyd::xd#3
|
|
Alias (byte) bitmap_line_xdyd::x1#3 = (byte) bitmap_line_xdyd::x1#4 (byte) bitmap_line_xdyd::x1#5
|
|
Alias (byte) bitmap_line_xdyd::y#3 = (byte) bitmap_line_xdyd::y#7 (byte) bitmap_line_xdyd::y#4
|
|
Alias (byte) bitmap_line_xdyd::e#1 = (byte~) bitmap_line_xdyd::$2 (byte) bitmap_line_xdyd::e#4
|
|
Alias (byte) bitmap_line_xdyd::x#2 = (byte) bitmap_line_xdyd::x#7
|
|
Alias (byte) bitmap_line_xdyd::e#2 = (byte~) bitmap_line_xdyd::$5
|
|
Alias (byte) bitmap_line_ydxi::e#0 = (byte~) bitmap_line_ydxi::$0
|
|
Alias (byte) bitmap_line_ydxi::y#3 = (byte) bitmap_line_ydxi::y#4
|
|
Alias (byte) bitmap_line_ydxi::e#3 = (byte) bitmap_line_ydxi::e#5
|
|
Alias (byte) bitmap_line_ydxi::xd#3 = (byte) bitmap_line_ydxi::xd#4 (byte) bitmap_line_ydxi::xd#6
|
|
Alias (byte) bitmap_line_ydxi::yd#2 = (byte) bitmap_line_ydxi::yd#4 (byte) bitmap_line_ydxi::yd#3
|
|
Alias (byte) bitmap_line_ydxi::y1#3 = (byte) bitmap_line_ydxi::y1#4 (byte) bitmap_line_ydxi::y1#5
|
|
Alias (byte) bitmap_line_ydxi::x#3 = (byte) bitmap_line_ydxi::x#7 (byte) bitmap_line_ydxi::x#4
|
|
Alias (byte) bitmap_line_ydxi::e#1 = (byte~) bitmap_line_ydxi::$2 (byte) bitmap_line_ydxi::e#4
|
|
Alias (byte) bitmap_line_ydxi::y#2 = (byte) bitmap_line_ydxi::y#7
|
|
Alias (byte) bitmap_line_ydxi::e#2 = (byte~) bitmap_line_ydxi::$5
|
|
Alias (byte) bitmap_line_ydxd::e#0 = (byte~) bitmap_line_ydxd::$0
|
|
Alias (byte) bitmap_line_ydxd::y#2 = (byte) bitmap_line_ydxd::y#5 (byte) bitmap_line_ydxd::y#4
|
|
Alias (byte) bitmap_line_ydxd::e#3 = (byte) bitmap_line_ydxd::e#5
|
|
Alias (byte) bitmap_line_ydxd::xd#3 = (byte) bitmap_line_ydxd::xd#4 (byte) bitmap_line_ydxd::xd#6
|
|
Alias (byte) bitmap_line_ydxd::yd#2 = (byte) bitmap_line_ydxd::yd#4 (byte) bitmap_line_ydxd::yd#3
|
|
Alias (byte) bitmap_line_ydxd::y1#3 = (byte) bitmap_line_ydxd::y1#4 (byte) bitmap_line_ydxd::y1#5
|
|
Alias (byte) bitmap_line_ydxd::x#3 = (byte) bitmap_line_ydxd::x#7 (byte) bitmap_line_ydxd::x#4
|
|
Alias (byte) bitmap_line_ydxd::e#1 = (byte~) bitmap_line_ydxd::$2 (byte) bitmap_line_ydxd::e#4
|
|
Alias (byte) bitmap_line_ydxd::y#3 = (byte) bitmap_line_ydxd::y#8
|
|
Alias (byte) bitmap_line_ydxd::e#2 = (byte~) bitmap_line_ydxd::$5
|
|
Alias (byte) lines::l#2 = (byte) lines::l#3
|
|
Successful SSA optimization Pass2AliasElimination
|
|
Alias (byte) bitmap_init::x#2 = (byte) bitmap_init::x#3
|
|
Alias (byte*) bitmap_init::bitmap#1 = (byte*) bitmap_init::bitmap#3
|
|
Alias (byte) bitmap_init::y#2 = (byte) bitmap_init::y#3
|
|
Alias (byte) bitmap_line_xdyi::x1#2 = (byte) bitmap_line_xdyi::x1#3
|
|
Alias (byte) bitmap_line_xdyi::x#2 = (byte) bitmap_line_xdyi::x#5
|
|
Alias (byte) bitmap_line_xdyi::yd#3 = (byte) bitmap_line_xdyi::yd#5
|
|
Alias (byte) bitmap_line_xdyi::xd#2 = (byte) bitmap_line_xdyi::xd#6
|
|
Alias (byte) bitmap_line_xdyd::x1#2 = (byte) bitmap_line_xdyd::x1#3
|
|
Alias (byte) bitmap_line_xdyd::x#2 = (byte) bitmap_line_xdyd::x#5
|
|
Alias (byte) bitmap_line_xdyd::yd#3 = (byte) bitmap_line_xdyd::yd#5
|
|
Alias (byte) bitmap_line_xdyd::xd#2 = (byte) bitmap_line_xdyd::xd#6
|
|
Alias (byte) bitmap_line_ydxi::y1#2 = (byte) bitmap_line_ydxi::y1#3
|
|
Alias (byte) bitmap_line_ydxi::y#2 = (byte) bitmap_line_ydxi::y#5
|
|
Alias (byte) bitmap_line_ydxi::xd#3 = (byte) bitmap_line_ydxi::xd#5
|
|
Alias (byte) bitmap_line_ydxi::yd#2 = (byte) bitmap_line_ydxi::yd#6
|
|
Alias (byte) bitmap_line_ydxd::y1#2 = (byte) bitmap_line_ydxd::y1#3
|
|
Alias (byte) bitmap_line_ydxd::y#3 = (byte) bitmap_line_ydxd::y#6
|
|
Alias (byte) bitmap_line_ydxd::xd#3 = (byte) bitmap_line_ydxd::xd#5
|
|
Alias (byte) bitmap_line_ydxd::yd#2 = (byte) bitmap_line_ydxd::yd#6
|
|
Successful SSA optimization Pass2AliasElimination
|
|
Self Phi Eliminated (byte*) bitmap_init::bitmap#1
|
|
Self Phi Eliminated (byte) bitmap_clear::y#2
|
|
Self Phi Eliminated (byte) bitmap_line_xdyi::yd#3
|
|
Self Phi Eliminated (byte) bitmap_line_xdyi::xd#2
|
|
Self Phi Eliminated (byte) bitmap_line_xdyi::x1#2
|
|
Self Phi Eliminated (byte) bitmap_line_xdyd::yd#3
|
|
Self Phi Eliminated (byte) bitmap_line_xdyd::xd#2
|
|
Self Phi Eliminated (byte) bitmap_line_xdyd::x1#2
|
|
Self Phi Eliminated (byte) bitmap_line_ydxi::xd#3
|
|
Self Phi Eliminated (byte) bitmap_line_ydxi::yd#2
|
|
Self Phi Eliminated (byte) bitmap_line_ydxi::y1#2
|
|
Self Phi Eliminated (byte) bitmap_line_ydxd::xd#3
|
|
Self Phi Eliminated (byte) bitmap_line_ydxd::yd#2
|
|
Self Phi Eliminated (byte) bitmap_line_ydxd::y1#2
|
|
Successful SSA optimization Pass2SelfPhiElimination
|
|
Redundant Phi (byte*) bitmap_init::bitmap#2 (byte*) bitmap_init::bitmap#0
|
|
Redundant Phi (byte*) bitmap_init::bitmap#1 (byte*) bitmap_init::bitmap#2
|
|
Redundant Phi (byte) bitmap_clear::y#2 (byte) bitmap_clear::y#4
|
|
Redundant Phi (byte) bitmap_line::x0#1 (byte) bitmap_line::x0#0
|
|
Redundant Phi (byte) bitmap_line::x1#1 (byte) bitmap_line::x1#0
|
|
Redundant Phi (byte) bitmap_line::y0#1 (byte) bitmap_line::y0#0
|
|
Redundant Phi (byte) bitmap_line::y1#1 (byte) bitmap_line::y1#0
|
|
Redundant Phi (byte) bitmap_line_xdyi::yd#3 (byte) bitmap_line_xdyi::yd#2
|
|
Redundant Phi (byte) bitmap_line_xdyi::xd#2 (byte) bitmap_line_xdyi::xd#5
|
|
Redundant Phi (byte) bitmap_line_xdyi::x1#2 (byte) bitmap_line_xdyi::x1#6
|
|
Redundant Phi (byte) bitmap_line_xdyd::yd#3 (byte) bitmap_line_xdyd::yd#2
|
|
Redundant Phi (byte) bitmap_line_xdyd::xd#2 (byte) bitmap_line_xdyd::xd#5
|
|
Redundant Phi (byte) bitmap_line_xdyd::x1#2 (byte) bitmap_line_xdyd::x1#6
|
|
Redundant Phi (byte) bitmap_line_ydxi::xd#3 (byte) bitmap_line_ydxi::xd#2
|
|
Redundant Phi (byte) bitmap_line_ydxi::yd#2 (byte) bitmap_line_ydxi::yd#5
|
|
Redundant Phi (byte) bitmap_line_ydxi::y1#2 (byte) bitmap_line_ydxi::y1#6
|
|
Redundant Phi (byte) bitmap_line_ydxd::xd#3 (byte) bitmap_line_ydxd::xd#2
|
|
Redundant Phi (byte) bitmap_line_ydxd::yd#2 (byte) bitmap_line_ydxd::yd#5
|
|
Redundant Phi (byte) bitmap_line_ydxd::y1#2 (byte) bitmap_line_ydxd::y1#6
|
|
Successful SSA optimization Pass2RedundantPhiElimination
|
|
Simple Condition (bool~) bitmap_init::$4 [25] if((byte) bitmap_init::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@2
|
|
Simple Condition (bool~) bitmap_init::$5 [29] if((byte) bitmap_init::x#1!=rangelast(0,$ff)) goto bitmap_init::@1
|
|
Simple Condition (bool~) bitmap_init::$12 [44] if((byte~) bitmap_init::$10!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto bitmap_init::@6
|
|
Simple Condition (bool~) bitmap_init::$15 [48] if((byte) bitmap_init::y#1!=rangelast(0,$ff)) goto bitmap_init::@5
|
|
Simple Condition (bool~) bitmap_clear::$1 [64] if((byte) bitmap_clear::x#1!=rangelast(0,$c7)) goto bitmap_clear::@2
|
|
Simple Condition (bool~) bitmap_clear::$2 [68] if((byte) bitmap_clear::y#1!=rangelast(0,$27)) goto bitmap_clear::@1
|
|
Simple Condition (bool~) bitmap_line::$0 [82] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1
|
|
Simple Condition (bool~) bitmap_line::$12 [87] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@20
|
|
Simple Condition (bool~) bitmap_line::$2 [92] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@10
|
|
Simple Condition (bool~) bitmap_line::$8 [97] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#2) goto bitmap_line::@15
|
|
Simple Condition (bool~) bitmap_line::$4 [102] if((byte) bitmap_line::yd#2<(byte) bitmap_line::xd#2) goto bitmap_line::@11
|
|
Simple Condition (bool~) bitmap_line::$18 [135] if((byte) bitmap_line::yd#11<(byte) bitmap_line::xd#1) goto bitmap_line::@25
|
|
Simple Condition (bool~) bitmap_line::$14 [140] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#1) goto bitmap_line::@21
|
|
Simple Condition (bool~) bitmap_line_xdyi::$4 [183] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2
|
|
Simple Condition (bool~) bitmap_line_xdyi::$7 [187] if((byte) bitmap_line_xdyi::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1
|
|
Simple Condition (bool~) bitmap_line_xdyd::$4 [206] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2
|
|
Simple Condition (bool~) bitmap_line_xdyd::$7 [210] if((byte) bitmap_line_xdyd::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1
|
|
Simple Condition (bool~) bitmap_line_ydxi::$4 [229] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2
|
|
Simple Condition (bool~) bitmap_line_ydxi::$7 [233] if((byte) bitmap_line_ydxi::y#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1
|
|
Simple Condition (bool~) bitmap_line_ydxd::$4 [253] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2
|
|
Simple Condition (bool~) bitmap_line_ydxd::$7 [257] if((byte) bitmap_line_ydxd::y#3!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1
|
|
Simple Condition (bool~) lines::$3 [302] if((byte) lines::l#1<(byte) lines_cnt#0) goto lines::@1
|
|
Simple Condition (bool~) init_screen::$1 [310] if((byte*) init_screen::c#1!=(byte*~) init_screen::$0) goto init_screen::@1
|
|
Successful SSA optimization Pass2ConditionalJumpSimplification
|
|
Constant (const byte*) BORDERCOL#0 = ((byte*))$d020
|
|
Constant (const byte*) BGCOL#0 = ((byte*))$d021
|
|
Constant (const byte*) D011#0 = ((byte*))$d011
|
|
Constant (const byte) VIC_BMM#0 = $20
|
|
Constant (const byte) VIC_DEN#0 = $10
|
|
Constant (const byte) VIC_RSEL#0 = 8
|
|
Constant (const byte*) VIC_MEMORY#0 = ((byte*))$d018
|
|
Constant (const byte[$100]) bitmap_plot_xlo#0 = { fill( $100, 0) }
|
|
Constant (const byte[$100]) bitmap_plot_xhi#0 = { fill( $100, 0) }
|
|
Constant (const byte[$100]) bitmap_plot_ylo#0 = { fill( $100, 0) }
|
|
Constant (const byte[$100]) bitmap_plot_yhi#0 = { fill( $100, 0) }
|
|
Constant (const byte[$100]) bitmap_plot_bit#0 = { fill( $100, 0) }
|
|
Constant (const byte) bitmap_init::bits#0 = $80
|
|
Constant (const byte) bitmap_init::x#0 = 0
|
|
Constant (const byte) bitmap_init::bits#2 = $80
|
|
Constant (const byte*) bitmap_init::yoffs#0 = ((byte*))0
|
|
Constant (const byte) bitmap_init::y#0 = 0
|
|
Constant (const word/signed word/dword/signed dword) bitmap_init::$13 = $28*8
|
|
Constant (const byte) bitmap_clear::y#0 = 0
|
|
Constant (const byte) bitmap_clear::x#0 = 0
|
|
Constant (const byte) bitmap_line::xd#0 = 0
|
|
Constant (const byte) bitmap_line::yd#0 = 0
|
|
Constant (const byte*) SCREEN#0 = ((byte*))$400
|
|
Constant (const byte*) BITMAP#0 = ((byte*))$2000
|
|
Constant (const byte[]) lines_x#0 = { $3c, $50, $6e, $50, $3c, $28, $a, $28, $3c }
|
|
Constant (const byte[]) lines_y#0 = { $a, $28, $3c, $50, $6e, $50, $3c, $28, $a }
|
|
Constant (const byte) lines_cnt#0 = 8
|
|
Constant (const byte) lines::l#0 = 0
|
|
Successful SSA optimization Pass2ConstantIdentification
|
|
Constant (const byte) main::$0 = VIC_BMM#0|VIC_DEN#0
|
|
Constant (const word) main::$3 = ((word))SCREEN#0
|
|
Constant (const word) main::$6 = ((word))BITMAP#0
|
|
Constant (const byte*) bitmap_init::bitmap#0 = BITMAP#0
|
|
Constant (const byte*) init_screen::c#0 = SCREEN#0
|
|
Constant (const byte*) init_screen::$0 = SCREEN#0+$400
|
|
Successful SSA optimization Pass2ConstantIdentification
|
|
Constant (const byte) bitmap_init::$1 = >bitmap_init::bitmap#0
|
|
Constant (const byte) main::$1 = main::$0|VIC_RSEL#0
|
|
Constant (const word) main::$4 = main::$3&$3fff
|
|
Constant (const word) main::$7 = main::$6&$3fff
|
|
Successful SSA optimization Pass2ConstantIdentification
|
|
Constant (const byte/word/dword) main::$2 = main::$1|3
|
|
Constant (const word/signed dword/dword) main::$5 = main::$4/$40
|
|
Constant (const word/signed dword/dword) main::$8 = main::$7/$400
|
|
Successful SSA optimization Pass2ConstantIdentification
|
|
Constant (const word/dword) main::$9 = main::$5|main::$8
|
|
Successful SSA optimization Pass2ConstantIdentification
|
|
Constant (const byte) main::$10 = ((byte))main::$9
|
|
Successful SSA optimization Pass2ConstantIdentification
|
|
Consolidated array index constant in *(bitmap_plot_xhi#0+0)
|
|
Consolidated array index constant in *(bitmap_plot_xlo#0+0)
|
|
Consolidated array index constant in assignment *(lines_x#0+1 + lines::$0)
|
|
Consolidated array index constant in assignment *(lines_y#0+1 + lines::$1)
|
|
Successful SSA optimization Pass2ConstantAdditionElimination
|
|
if() condition always true - replacing block destination [172] if(true) goto main::@1
|
|
Successful SSA optimization Pass2ConstantIfs
|
|
Fixing inline constructor with bitmap_clear::$3 ← *(bitmap_plot_xhi#0+0) w= *(bitmap_plot_xlo#0+0)
|
|
Fixing inline constructor with bitmap_plot::$2 ← *(bitmap_plot_xhi#0 + bitmap_plot::x#4) w= *(bitmap_plot_xlo#0 + bitmap_plot::x#4)
|
|
Fixing inline constructor with bitmap_plot::$3 ← *(bitmap_plot_yhi#0 + bitmap_plot::y#4) w= *(bitmap_plot_ylo#0 + bitmap_plot::y#4)
|
|
Successful SSA optimization Pass2FixInlineConstructors
|
|
Inferred type updated to byte in [175] (byte/signed word/word/dword/signed dword~) lines::$0 ← (byte) lines::l#2
|
|
Inferred type updated to byte in [176] (byte/signed word/word/dword/signed dword~) lines::$1 ← (byte) lines::l#2
|
|
Eliminating unused constant (const byte) bitmap_line::xd#0
|
|
Eliminating unused constant (const byte) bitmap_line::yd#0
|
|
Successful SSA optimization PassNEliminateUnusedVars
|
|
Eliminating Noop Cast (byte*) bitmap_clear::bitmap#0 ← ((byte*)) (word~) bitmap_clear::$3
|
|
Eliminating Noop Cast (byte*) bitmap_plot::plotter#0 ← ((byte*)) (word~) bitmap_plot::$0
|
|
Successful SSA optimization Pass2NopCastElimination
|
|
Removing unused block main::@return
|
|
Successful SSA optimization Pass2EliminateUnusedBlocks
|
|
Resolved ranged next value bitmap_init::x#1 ← ++ bitmap_init::x#2 to ++
|
|
Resolved ranged comparison value if(bitmap_init::x#1!=rangelast(0,$ff)) goto bitmap_init::@1 to (byte/signed byte/word/signed word/dword/signed dword) 0
|
|
Resolved ranged next value bitmap_init::y#1 ← ++ bitmap_init::y#2 to ++
|
|
Resolved ranged comparison value if(bitmap_init::y#1!=rangelast(0,$ff)) goto bitmap_init::@5 to (byte/signed byte/word/signed word/dword/signed dword) 0
|
|
Resolved ranged next value bitmap_clear::x#1 ← ++ bitmap_clear::x#2 to ++
|
|
Resolved ranged comparison value if(bitmap_clear::x#1!=rangelast(0,$c7)) goto bitmap_clear::@2 to (byte/word/signed word/dword/signed dword) $c8
|
|
Resolved ranged next value bitmap_clear::y#1 ← ++ bitmap_clear::y#4 to ++
|
|
Resolved ranged comparison value if(bitmap_clear::y#1!=rangelast(0,$27)) goto bitmap_clear::@1 to (byte/signed byte/word/signed word/dword/signed dword) $28
|
|
Culled Empty Block (label) @4
|
|
Culled Empty Block (label) bitmap_init::@4
|
|
Culled Empty Block (label) @12
|
|
Culled Empty Block (label) main::@6
|
|
Successful SSA optimization Pass2CullEmptyBlocks
|
|
Alias (word) bitmap_plot::plotter_x#0 = (word~) bitmap_plot::$2
|
|
Alias (word) bitmap_plot::plotter_y#0 = (word~) bitmap_plot::$3
|
|
Alias (byte) lines::l#2 = (byte~) lines::$0 (byte~) lines::$1
|
|
Successful SSA optimization Pass2AliasElimination
|
|
Inlining constant with var siblings (const byte) bitmap_init::bits#0
|
|
Inlining constant with var siblings (const byte) bitmap_init::x#0
|
|
Inlining constant with var siblings (const byte) bitmap_init::bits#2
|
|
Inlining constant with var siblings (const byte*) bitmap_init::yoffs#0
|
|
Inlining constant with var siblings (const byte) bitmap_init::y#0
|
|
Inlining constant with var siblings (const byte) bitmap_clear::y#0
|
|
Inlining constant with var siblings (const byte) bitmap_clear::x#0
|
|
Inlining constant with var siblings (const byte) lines::l#0
|
|
Inlining constant with var siblings (const byte*) init_screen::c#0
|
|
Constant inlined bitmap_init::yoffs#0 = ((byte*))(byte/signed byte/word/signed word/dword/signed dword) 0
|
|
Constant inlined bitmap_clear::x#0 = (byte/signed byte/word/signed word/dword/signed dword) 0
|
|
Constant inlined bitmap_clear::y#0 = (byte/signed byte/word/signed word/dword/signed dword) 0
|
|
Constant inlined bitmap_init::bits#0 = (byte/word/signed word/dword/signed dword) $80
|
|
Constant inlined bitmap_init::bits#2 = (byte/word/signed word/dword/signed dword) $80
|
|
Constant inlined main::$10 = ((byte))((word))(const byte*) SCREEN#0&(word/signed word/dword/signed dword) $3fff/(byte/signed byte/word/signed word/dword/signed dword) $40|((word))(const byte*) BITMAP#0&(word/signed word/dword/signed dword) $3fff/(word/signed word/dword/signed dword) $400
|
|
Constant inlined main::$1 = (const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0
|
|
Constant inlined lines::l#0 = (byte/signed byte/word/signed word/dword/signed dword) 0
|
|
Constant inlined main::$2 = (const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3
|
|
Constant inlined bitmap_init::$1 = >(const byte*) BITMAP#0
|
|
Constant inlined main::$0 = (const byte) VIC_BMM#0|(const byte) VIC_DEN#0
|
|
Constant inlined main::$5 = ((word))(const byte*) SCREEN#0&(word/signed word/dword/signed dword) $3fff/(byte/signed byte/word/signed word/dword/signed dword) $40
|
|
Constant inlined bitmap_init::y#0 = (byte/signed byte/word/signed word/dword/signed dword) 0
|
|
Constant inlined main::$6 = ((word))(const byte*) BITMAP#0
|
|
Constant inlined bitmap_init::$13 = (byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8
|
|
Constant inlined main::$3 = ((word))(const byte*) SCREEN#0
|
|
Constant inlined main::$4 = ((word))(const byte*) SCREEN#0&(word/signed word/dword/signed dword) $3fff
|
|
Constant inlined bitmap_init::x#0 = (byte/signed byte/word/signed word/dword/signed dword) 0
|
|
Constant inlined main::$9 = ((word))(const byte*) SCREEN#0&(word/signed word/dword/signed dword) $3fff/(byte/signed byte/word/signed word/dword/signed dword) $40|((word))(const byte*) BITMAP#0&(word/signed word/dword/signed dword) $3fff/(word/signed word/dword/signed dword) $400
|
|
Constant inlined init_screen::c#0 = (const byte*) SCREEN#0
|
|
Constant inlined main::$7 = ((word))(const byte*) BITMAP#0&(word/signed word/dword/signed dword) $3fff
|
|
Constant inlined init_screen::$0 = (const byte*) SCREEN#0+(word/signed word/dword/signed dword) $400
|
|
Constant inlined main::$8 = ((word))(const byte*) BITMAP#0&(word/signed word/dword/signed dword) $3fff/(word/signed word/dword/signed dword) $400
|
|
Constant inlined bitmap_init::bitmap#0 = (const byte*) BITMAP#0
|
|
Successful SSA optimization Pass2ConstantInlining
|
|
Simplifying constant plus zero bitmap_plot_xhi#0+0
|
|
Simplifying constant plus zero bitmap_plot_xlo#0+0
|
|
Added new block during phi lifting lines::@4(between lines::@3 and lines::@1)
|
|
Added new block during phi lifting bitmap_line_xdyi::@6(between bitmap_line_xdyi::@2 and bitmap_line_xdyi::@1)
|
|
Added new block during phi lifting bitmap_line_xdyi::@7(between bitmap_line_xdyi::@5 and bitmap_line_xdyi::@2)
|
|
Added new block during phi lifting bitmap_line_ydxi::@6(between bitmap_line_ydxi::@2 and bitmap_line_ydxi::@1)
|
|
Added new block during phi lifting bitmap_line_ydxi::@7(between bitmap_line_ydxi::@5 and bitmap_line_ydxi::@2)
|
|
Added new block during phi lifting bitmap_line_xdyd::@6(between bitmap_line_xdyd::@2 and bitmap_line_xdyd::@1)
|
|
Added new block during phi lifting bitmap_line_xdyd::@7(between bitmap_line_xdyd::@5 and bitmap_line_xdyd::@2)
|
|
Added new block during phi lifting bitmap_line_ydxd::@6(between bitmap_line_ydxd::@2 and bitmap_line_ydxd::@1)
|
|
Added new block during phi lifting bitmap_line_ydxd::@7(between bitmap_line_ydxd::@5 and bitmap_line_ydxd::@2)
|
|
Added new block during phi lifting init_screen::@3(between init_screen::@1 and init_screen::@1)
|
|
Added new block during phi lifting bitmap_clear::@5(between bitmap_clear::@3 and bitmap_clear::@1)
|
|
Added new block during phi lifting bitmap_clear::@6(between bitmap_clear::@2 and bitmap_clear::@2)
|
|
Added new block during phi lifting bitmap_init::@9(between bitmap_init::@2 and bitmap_init::@1)
|
|
Added new block during phi lifting bitmap_init::@10(between bitmap_init::@1 and bitmap_init::@2)
|
|
Added new block during phi lifting bitmap_init::@11(between bitmap_init::@6 and bitmap_init::@5)
|
|
Added new block during phi lifting bitmap_init::@12(between bitmap_init::@5 and bitmap_init::@6)
|
|
Adding NOP phi() at start of @begin
|
|
Adding NOP phi() at start of @15
|
|
Adding NOP phi() at start of @end
|
|
Adding NOP phi() at start of main::@3
|
|
Adding NOP phi() at start of main::@4
|
|
Adding NOP phi() at start of main::@1
|
|
Adding NOP phi() at start of lines
|
|
Adding NOP phi() at start of init_screen
|
|
Adding NOP phi() at start of bitmap_init
|
|
Adding NOP phi() at start of bitmap_init::@3
|
|
CALL GRAPH
|
|
Calls in [] to main:2
|
|
Calls in [main] to bitmap_init:8 bitmap_clear:10 init_screen:12 lines:14
|
|
Calls in [lines] to bitmap_line:21
|
|
Calls in [bitmap_line] to bitmap_line_ydxi:41 bitmap_line_xdyi:53 bitmap_line_ydxd:66 bitmap_line_xdyd:77 bitmap_line_ydxd:92 bitmap_line_xdyd:103 bitmap_line_ydxi:116 bitmap_line_xdyi:127
|
|
Calls in [bitmap_line_xdyi] to bitmap_plot:138
|
|
Calls in [bitmap_line_ydxi] to bitmap_plot:172
|
|
Calls in [bitmap_line_xdyd] to bitmap_plot:199
|
|
Calls in [bitmap_line_ydxd] to bitmap_plot:226
|
|
|
|
Created 54 initial phi equivalence classes
|
|
Coalesced [25] lines::l#4 ← lines::l#1
|
|
Coalesced [36] bitmap_line_ydxi::xd#8 ← bitmap_line_ydxi::xd#0
|
|
Coalesced [37] bitmap_line_ydxi::x#9 ← bitmap_line_ydxi::x#0
|
|
Coalesced [38] bitmap_line_ydxi::y#9 ← bitmap_line_ydxi::y#0
|
|
Coalesced [39] bitmap_line_ydxi::yd#8 ← bitmap_line_ydxi::yd#0
|
|
Coalesced [40] bitmap_line_ydxi::y1#8 ← bitmap_line_ydxi::y1#0
|
|
Coalesced [48] bitmap_line_xdyi::yd#7 ← bitmap_line_xdyi::yd#0
|
|
Coalesced [49] bitmap_line_xdyi::x#8 ← bitmap_line_xdyi::x#0
|
|
Coalesced [50] bitmap_line_xdyi::y#8 ← bitmap_line_xdyi::y#0
|
|
Coalesced [51] bitmap_line_xdyi::xd#7 ← bitmap_line_xdyi::xd#0
|
|
Coalesced [52] bitmap_line_xdyi::x1#7 ← bitmap_line_xdyi::x1#0
|
|
Coalesced [61] bitmap_line_ydxd::xd#7 ← bitmap_line_ydxd::xd#0
|
|
Coalesced [62] bitmap_line_ydxd::x#8 ← bitmap_line_ydxd::x#0
|
|
Coalesced [63] bitmap_line_ydxd::y#9 ← bitmap_line_ydxd::y#0
|
|
Coalesced [64] bitmap_line_ydxd::yd#7 ← bitmap_line_ydxd::yd#0
|
|
Coalesced [65] bitmap_line_ydxd::y1#7 ← bitmap_line_ydxd::y1#0
|
|
Coalesced [72] bitmap_line_xdyd::yd#7 ← bitmap_line_xdyd::yd#0
|
|
Coalesced [73] bitmap_line_xdyd::x#8 ← bitmap_line_xdyd::x#0
|
|
Coalesced [74] bitmap_line_xdyd::y#8 ← bitmap_line_xdyd::y#0
|
|
Coalesced [75] bitmap_line_xdyd::xd#7 ← bitmap_line_xdyd::xd#0
|
|
Coalesced [76] bitmap_line_xdyd::x1#7 ← bitmap_line_xdyd::x1#0
|
|
Coalesced [87] bitmap_line_ydxd::xd#8 ← bitmap_line_ydxd::xd#1
|
|
Coalesced [88] bitmap_line_ydxd::x#9 ← bitmap_line_ydxd::x#1
|
|
Coalesced [89] bitmap_line_ydxd::y#10 ← bitmap_line_ydxd::y#1
|
|
Coalesced [90] bitmap_line_ydxd::yd#8 ← bitmap_line_ydxd::yd#1
|
|
Coalesced [91] bitmap_line_ydxd::y1#8 ← bitmap_line_ydxd::y1#1
|
|
Coalesced [98] bitmap_line_xdyd::yd#8 ← bitmap_line_xdyd::yd#1
|
|
Coalesced [99] bitmap_line_xdyd::x#9 ← bitmap_line_xdyd::x#1
|
|
Coalesced [100] bitmap_line_xdyd::y#9 ← bitmap_line_xdyd::y#1
|
|
Coalesced [101] bitmap_line_xdyd::xd#8 ← bitmap_line_xdyd::xd#1
|
|
Coalesced [102] bitmap_line_xdyd::x1#8 ← bitmap_line_xdyd::x1#1
|
|
Coalesced [111] bitmap_line_ydxi::xd#7 ← bitmap_line_ydxi::xd#1
|
|
Coalesced [112] bitmap_line_ydxi::x#8 ← bitmap_line_ydxi::x#1
|
|
Coalesced [113] bitmap_line_ydxi::y#8 ← bitmap_line_ydxi::y#1
|
|
Coalesced [114] bitmap_line_ydxi::yd#7 ← bitmap_line_ydxi::yd#1
|
|
Coalesced [115] bitmap_line_ydxi::y1#7 ← bitmap_line_ydxi::y1#1
|
|
Coalesced [122] bitmap_line_xdyi::yd#8 ← bitmap_line_xdyi::yd#1
|
|
Coalesced [123] bitmap_line_xdyi::x#9 ← bitmap_line_xdyi::x#1
|
|
Coalesced [124] bitmap_line_xdyi::y#9 ← bitmap_line_xdyi::y#1
|
|
Coalesced [125] bitmap_line_xdyi::xd#8 ← bitmap_line_xdyi::xd#1
|
|
Coalesced [126] bitmap_line_xdyi::x1#8 ← bitmap_line_xdyi::x1#1
|
|
Coalesced [130] bitmap_line_xdyi::x#10 ← bitmap_line_xdyi::x#6
|
|
Coalesced [131] bitmap_line_xdyi::y#10 ← bitmap_line_xdyi::y#5
|
|
Coalesced [132] bitmap_line_xdyi::e#7 ← bitmap_line_xdyi::e#0
|
|
Coalesced [136] bitmap_plot::x#6 ← bitmap_plot::x#0
|
|
Coalesced [137] bitmap_plot::y#6 ← bitmap_plot::y#0
|
|
Coalesced [144] bitmap_line_xdyi::y#12 ← bitmap_line_xdyi::y#2
|
|
Coalesced [145] bitmap_line_xdyi::e#9 ← bitmap_line_xdyi::e#2
|
|
Coalesced [150] bitmap_line_xdyi::x#11 ← bitmap_line_xdyi::x#2
|
|
Coalesced [151] bitmap_line_xdyi::y#11 ← bitmap_line_xdyi::y#6
|
|
Coalesced [152] bitmap_line_xdyi::e#8 ← bitmap_line_xdyi::e#6
|
|
Coalesced (already) [153] bitmap_line_xdyi::y#13 ← bitmap_line_xdyi::y#3
|
|
Coalesced [154] bitmap_line_xdyi::e#10 ← bitmap_line_xdyi::e#1
|
|
Coalesced [164] bitmap_line_ydxi::x#10 ← bitmap_line_ydxi::x#5
|
|
Coalesced [165] bitmap_line_ydxi::y#10 ← bitmap_line_ydxi::y#6
|
|
Coalesced [166] bitmap_line_ydxi::e#7 ← bitmap_line_ydxi::e#0
|
|
Coalesced [170] bitmap_plot::x#8 ← bitmap_plot::x#2
|
|
Coalesced [171] bitmap_plot::y#8 ← bitmap_plot::y#2
|
|
Coalesced [178] bitmap_line_ydxi::x#12 ← bitmap_line_ydxi::x#2
|
|
Coalesced [179] bitmap_line_ydxi::e#9 ← bitmap_line_ydxi::e#2
|
|
Coalesced [184] bitmap_line_ydxi::x#11 ← bitmap_line_ydxi::x#6
|
|
Coalesced [185] bitmap_line_ydxi::y#11 ← bitmap_line_ydxi::y#2
|
|
Coalesced [186] bitmap_line_ydxi::e#8 ← bitmap_line_ydxi::e#6
|
|
Coalesced (already) [187] bitmap_line_ydxi::x#13 ← bitmap_line_ydxi::x#3
|
|
Coalesced [188] bitmap_line_ydxi::e#10 ← bitmap_line_ydxi::e#1
|
|
Coalesced [191] bitmap_line_xdyd::x#10 ← bitmap_line_xdyd::x#6
|
|
Coalesced [192] bitmap_line_xdyd::y#10 ← bitmap_line_xdyd::y#5
|
|
Coalesced [193] bitmap_line_xdyd::e#7 ← bitmap_line_xdyd::e#0
|
|
Coalesced [197] bitmap_plot::x#5 ← bitmap_plot::x#1
|
|
Coalesced [198] bitmap_plot::y#5 ← bitmap_plot::y#1
|
|
Coalesced [205] bitmap_line_xdyd::y#12 ← bitmap_line_xdyd::y#2
|
|
Coalesced [206] bitmap_line_xdyd::e#9 ← bitmap_line_xdyd::e#2
|
|
Coalesced [211] bitmap_line_xdyd::x#11 ← bitmap_line_xdyd::x#2
|
|
Coalesced [212] bitmap_line_xdyd::y#11 ← bitmap_line_xdyd::y#6
|
|
Coalesced [213] bitmap_line_xdyd::e#8 ← bitmap_line_xdyd::e#6
|
|
Coalesced (already) [214] bitmap_line_xdyd::y#13 ← bitmap_line_xdyd::y#3
|
|
Coalesced [215] bitmap_line_xdyd::e#10 ← bitmap_line_xdyd::e#1
|
|
Coalesced [218] bitmap_line_ydxd::x#10 ← bitmap_line_ydxd::x#5
|
|
Coalesced [219] bitmap_line_ydxd::y#11 ← bitmap_line_ydxd::y#7
|
|
Coalesced [220] bitmap_line_ydxd::e#7 ← bitmap_line_ydxd::e#0
|
|
Coalesced [224] bitmap_plot::x#7 ← bitmap_plot::x#3
|
|
Coalesced [225] bitmap_plot::y#7 ← bitmap_plot::y#3
|
|
Coalesced [232] bitmap_line_ydxd::x#12 ← bitmap_line_ydxd::x#2
|
|
Coalesced [233] bitmap_line_ydxd::e#9 ← bitmap_line_ydxd::e#2
|
|
Coalesced [238] bitmap_line_ydxd::x#11 ← bitmap_line_ydxd::x#6
|
|
Coalesced [239] bitmap_line_ydxd::y#12 ← bitmap_line_ydxd::y#3
|
|
Coalesced [240] bitmap_line_ydxd::e#8 ← bitmap_line_ydxd::e#6
|
|
Coalesced (already) [241] bitmap_line_ydxd::x#13 ← bitmap_line_ydxd::x#3
|
|
Coalesced [242] bitmap_line_ydxd::e#10 ← bitmap_line_ydxd::e#1
|
|
Coalesced [249] init_screen::c#3 ← init_screen::c#1
|
|
Coalesced [253] bitmap_clear::bitmap#7 ← bitmap_clear::bitmap#3
|
|
Coalesced [262] bitmap_clear::bitmap#6 ← bitmap_clear::bitmap#1
|
|
Coalesced [263] bitmap_clear::y#5 ← bitmap_clear::y#1
|
|
Coalesced (already) [264] bitmap_clear::bitmap#8 ← bitmap_clear::bitmap#1
|
|
Coalesced [265] bitmap_clear::x#3 ← bitmap_clear::x#1
|
|
Coalesced [288] bitmap_init::yoffs#7 ← bitmap_init::yoffs#1
|
|
Coalesced [293] bitmap_init::y#5 ← bitmap_init::y#1
|
|
Coalesced [294] bitmap_init::yoffs#5 ← bitmap_init::yoffs#4
|
|
Coalesced (already) [295] bitmap_init::yoffs#6 ← bitmap_init::yoffs#2
|
|
Coalesced [296] bitmap_init::x#5 ← bitmap_init::x#1
|
|
Coalesced [297] bitmap_init::bits#5 ← bitmap_init::bits#4
|
|
Coalesced [298] bitmap_init::bits#6 ← bitmap_init::bits#1
|
|
Coalesced down to 35 phi equivalence classes
|
|
Culled Empty Block (label) lines::@4
|
|
Culled Empty Block (label) bitmap_line_xdyi::@6
|
|
Culled Empty Block (label) bitmap_line_xdyi::@7
|
|
Culled Empty Block (label) bitmap_line_ydxi::@6
|
|
Culled Empty Block (label) bitmap_line_ydxi::@7
|
|
Culled Empty Block (label) bitmap_line_xdyd::@6
|
|
Culled Empty Block (label) bitmap_line_xdyd::@7
|
|
Culled Empty Block (label) bitmap_line_ydxd::@6
|
|
Culled Empty Block (label) bitmap_line_ydxd::@7
|
|
Culled Empty Block (label) init_screen::@3
|
|
Culled Empty Block (label) bitmap_clear::@5
|
|
Culled Empty Block (label) bitmap_clear::@6
|
|
Culled Empty Block (label) bitmap_init::@3
|
|
Culled Empty Block (label) bitmap_init::@11
|
|
Culled Empty Block (label) bitmap_init::@12
|
|
Culled Empty Block (label) bitmap_init::@9
|
|
Renumbering block @15 to @1
|
|
Renumbering block bitmap_init::@5 to bitmap_init::@3
|
|
Renumbering block bitmap_init::@6 to bitmap_init::@4
|
|
Renumbering block bitmap_init::@7 to bitmap_init::@5
|
|
Renumbering block bitmap_init::@10 to bitmap_init::@6
|
|
Renumbering block bitmap_line::@3 to bitmap_line::@2
|
|
Renumbering block bitmap_line::@4 to bitmap_line::@3
|
|
Renumbering block bitmap_line::@5 to bitmap_line::@4
|
|
Renumbering block bitmap_line::@7 to bitmap_line::@5
|
|
Renumbering block bitmap_line::@8 to bitmap_line::@6
|
|
Renumbering block bitmap_line::@10 to bitmap_line::@7
|
|
Renumbering block bitmap_line::@11 to bitmap_line::@8
|
|
Renumbering block bitmap_line::@15 to bitmap_line::@9
|
|
Renumbering block bitmap_line::@17 to bitmap_line::@10
|
|
Renumbering block bitmap_line::@20 to bitmap_line::@11
|
|
Renumbering block bitmap_line::@21 to bitmap_line::@12
|
|
Renumbering block bitmap_line::@25 to bitmap_line::@13
|
|
Renumbering block bitmap_line::@27 to bitmap_line::@14
|
|
Renumbering block bitmap_line_xdyi::@5 to bitmap_line_xdyi::@4
|
|
Renumbering block bitmap_line_xdyd::@5 to bitmap_line_xdyd::@4
|
|
Renumbering block bitmap_line_ydxi::@5 to bitmap_line_ydxi::@4
|
|
Renumbering block bitmap_line_ydxd::@5 to bitmap_line_ydxd::@4
|
|
Renumbering block main::@3 to main::@2
|
|
Renumbering block main::@4 to main::@3
|
|
Renumbering block lines::@3 to lines::@2
|
|
Adding NOP phi() at start of @begin
|
|
Adding NOP phi() at start of @1
|
|
Adding NOP phi() at start of @end
|
|
Adding NOP phi() at start of main::@2
|
|
Adding NOP phi() at start of main::@3
|
|
Adding NOP phi() at start of main::@1
|
|
Adding NOP phi() at start of lines
|
|
Adding NOP phi() at start of init_screen
|
|
Adding NOP phi() at start of bitmap_init
|
|
Adding NOP phi() at start of bitmap_init::@6
|
|
|
|
FINAL CONTROL FLOW GRAPH
|
|
@begin: scope:[] from
|
|
[0] phi()
|
|
to:@1
|
|
@1: scope:[] from @begin
|
|
[1] phi()
|
|
[2] call main
|
|
to:@end
|
|
@end: scope:[] from @1
|
|
[3] phi()
|
|
main: scope:[main] from @1
|
|
[4] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
|
[5] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
|
[6] *((const byte*) D011#0) ← (const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3
|
|
[7] *((const byte*) VIC_MEMORY#0) ← ((byte))((word))(const byte*) SCREEN#0&(word/signed word/dword/signed dword) $3fff/(byte/signed byte/word/signed word/dword/signed dword) $40|((word))(const byte*) BITMAP#0&(word/signed word/dword/signed dword) $3fff/(word/signed word/dword/signed dword) $400
|
|
[8] call bitmap_init
|
|
to:main::@2
|
|
main::@2: scope:[main] from main
|
|
[9] phi()
|
|
[10] call bitmap_clear
|
|
to:main::@3
|
|
main::@3: scope:[main] from main::@2
|
|
[11] phi()
|
|
[12] call init_screen
|
|
to:main::@1
|
|
main::@1: scope:[main] from main::@1 main::@3
|
|
[13] phi()
|
|
[14] call lines
|
|
to:main::@1
|
|
lines: scope:[lines] from main::@1
|
|
[15] phi()
|
|
to:lines::@1
|
|
lines::@1: scope:[lines] from lines lines::@2
|
|
[16] (byte) lines::l#2 ← phi( lines/(byte/signed byte/word/signed word/dword/signed dword) 0 lines::@2/(byte) lines::l#1 )
|
|
[17] (byte) bitmap_line::x0#0 ← *((const byte[]) lines_x#0 + (byte) lines::l#2)
|
|
[18] (byte) bitmap_line::x1#0 ← *((const byte[]) lines_x#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) lines::l#2)
|
|
[19] (byte) bitmap_line::y0#0 ← *((const byte[]) lines_y#0 + (byte) lines::l#2)
|
|
[20] (byte) bitmap_line::y1#0 ← *((const byte[]) lines_y#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) lines::l#2)
|
|
[21] call bitmap_line
|
|
to:lines::@2
|
|
lines::@2: scope:[lines] from lines::@1
|
|
[22] (byte) lines::l#1 ← ++ (byte) lines::l#2
|
|
[23] if((byte) lines::l#1<(const byte) lines_cnt#0) goto lines::@1
|
|
to:lines::@return
|
|
lines::@return: scope:[lines] from lines::@2
|
|
[24] return
|
|
to:@return
|
|
bitmap_line: scope:[bitmap_line] from lines::@1
|
|
[25] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1
|
|
to:bitmap_line::@2
|
|
bitmap_line::@2: scope:[bitmap_line] from bitmap_line
|
|
[26] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0
|
|
[27] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@7
|
|
to:bitmap_line::@3
|
|
bitmap_line::@3: scope:[bitmap_line] from bitmap_line::@2
|
|
[28] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0
|
|
[29] if((byte) bitmap_line::yd#2<(byte) bitmap_line::xd#2) goto bitmap_line::@8
|
|
to:bitmap_line::@4
|
|
bitmap_line::@4: scope:[bitmap_line] from bitmap_line::@3
|
|
[30] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0
|
|
[31] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0
|
|
[32] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0
|
|
[33] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#2
|
|
[34] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#2
|
|
[35] call bitmap_line_ydxi
|
|
to:bitmap_line::@return
|
|
bitmap_line::@return: scope:[bitmap_line] from bitmap_line::@10 bitmap_line::@12 bitmap_line::@13 bitmap_line::@14 bitmap_line::@4 bitmap_line::@6 bitmap_line::@8 bitmap_line::@9
|
|
[36] return
|
|
to:@return
|
|
bitmap_line::@8: scope:[bitmap_line] from bitmap_line::@3
|
|
[37] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0
|
|
[38] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0
|
|
[39] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0
|
|
[40] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#2
|
|
[41] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#2
|
|
[42] call bitmap_line_xdyi
|
|
to:bitmap_line::@return
|
|
bitmap_line::@7: scope:[bitmap_line] from bitmap_line::@2
|
|
[43] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0
|
|
[44] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#2) goto bitmap_line::@9
|
|
to:bitmap_line::@10
|
|
bitmap_line::@10: scope:[bitmap_line] from bitmap_line::@7
|
|
[45] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0
|
|
[46] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0
|
|
[47] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0
|
|
[48] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#1
|
|
[49] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#2
|
|
[50] call bitmap_line_ydxd
|
|
to:bitmap_line::@return
|
|
bitmap_line::@9: scope:[bitmap_line] from bitmap_line::@7
|
|
[51] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0
|
|
[52] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0
|
|
[53] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0
|
|
[54] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#2
|
|
[55] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#1
|
|
[56] call bitmap_line_xdyd
|
|
to:bitmap_line::@return
|
|
bitmap_line::@1: scope:[bitmap_line] from bitmap_line
|
|
[57] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0
|
|
[58] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@11
|
|
to:bitmap_line::@5
|
|
bitmap_line::@5: scope:[bitmap_line] from bitmap_line::@1
|
|
[59] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0
|
|
[60] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#1) goto bitmap_line::@12
|
|
to:bitmap_line::@6
|
|
bitmap_line::@6: scope:[bitmap_line] from bitmap_line::@5
|
|
[61] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0
|
|
[62] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0
|
|
[63] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0
|
|
[64] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#10
|
|
[65] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#1
|
|
[66] call bitmap_line_ydxd
|
|
to:bitmap_line::@return
|
|
bitmap_line::@12: scope:[bitmap_line] from bitmap_line::@5
|
|
[67] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0
|
|
[68] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0
|
|
[69] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0
|
|
[70] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#1
|
|
[71] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#10
|
|
[72] call bitmap_line_xdyd
|
|
to:bitmap_line::@return
|
|
bitmap_line::@11: scope:[bitmap_line] from bitmap_line::@1
|
|
[73] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0
|
|
[74] if((byte) bitmap_line::yd#11<(byte) bitmap_line::xd#1) goto bitmap_line::@13
|
|
to:bitmap_line::@14
|
|
bitmap_line::@14: scope:[bitmap_line] from bitmap_line::@11
|
|
[75] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0
|
|
[76] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0
|
|
[77] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0
|
|
[78] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#11
|
|
[79] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#1
|
|
[80] call bitmap_line_ydxi
|
|
to:bitmap_line::@return
|
|
bitmap_line::@13: scope:[bitmap_line] from bitmap_line::@11
|
|
[81] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0
|
|
[82] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0
|
|
[83] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0
|
|
[84] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#1
|
|
[85] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11
|
|
[86] call bitmap_line_xdyi
|
|
to:bitmap_line::@return
|
|
bitmap_line_xdyi: scope:[bitmap_line_xdyi] from bitmap_line::@13 bitmap_line::@8
|
|
[87] (byte) bitmap_line_xdyi::x1#6 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::x1#0 bitmap_line::@13/(byte) bitmap_line_xdyi::x1#1 )
|
|
[87] (byte) bitmap_line_xdyi::xd#5 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::xd#0 bitmap_line::@13/(byte) bitmap_line_xdyi::xd#1 )
|
|
[87] (byte) bitmap_line_xdyi::y#5 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::y#0 bitmap_line::@13/(byte) bitmap_line_xdyi::y#1 )
|
|
[87] (byte) bitmap_line_xdyi::x#6 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::x#0 bitmap_line::@13/(byte) bitmap_line_xdyi::x#1 )
|
|
[87] (byte) bitmap_line_xdyi::yd#2 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::yd#0 bitmap_line::@13/(byte) bitmap_line_xdyi::yd#1 )
|
|
[88] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1
|
|
to:bitmap_line_xdyi::@1
|
|
bitmap_line_xdyi::@1: scope:[bitmap_line_xdyi] from bitmap_line_xdyi bitmap_line_xdyi::@2
|
|
[89] (byte) bitmap_line_xdyi::e#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::e#0 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::e#6 )
|
|
[89] (byte) bitmap_line_xdyi::y#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::y#5 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::y#6 )
|
|
[89] (byte) bitmap_line_xdyi::x#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::x#6 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::x#2 )
|
|
[90] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3
|
|
[91] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3
|
|
[92] call bitmap_plot
|
|
to:bitmap_line_xdyi::@4
|
|
bitmap_line_xdyi::@4: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@1
|
|
[93] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3
|
|
[94] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2
|
|
[95] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2
|
|
to:bitmap_line_xdyi::@3
|
|
bitmap_line_xdyi::@3: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@4
|
|
[96] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3
|
|
[97] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5
|
|
to:bitmap_line_xdyi::@2
|
|
bitmap_line_xdyi::@2: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@3 bitmap_line_xdyi::@4
|
|
[98] (byte) bitmap_line_xdyi::e#6 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::e#2 bitmap_line_xdyi::@4/(byte) bitmap_line_xdyi::e#1 )
|
|
[98] (byte) bitmap_line_xdyi::y#6 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::y#2 bitmap_line_xdyi::@4/(byte) bitmap_line_xdyi::y#3 )
|
|
[99] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1
|
|
[100] if((byte) bitmap_line_xdyi::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1
|
|
to:bitmap_line_xdyi::@return
|
|
bitmap_line_xdyi::@return: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@2
|
|
[101] return
|
|
to:@return
|
|
bitmap_plot: scope:[bitmap_plot] from bitmap_line_xdyd::@1 bitmap_line_xdyi::@1 bitmap_line_ydxd::@1 bitmap_line_ydxi::@1
|
|
[102] (byte) bitmap_plot::y#4 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_plot::y#1 bitmap_line_xdyi::@1/(byte) bitmap_plot::y#0 bitmap_line_ydxd::@1/(byte) bitmap_plot::y#3 bitmap_line_ydxi::@1/(byte) bitmap_plot::y#2 )
|
|
[102] (byte) bitmap_plot::x#4 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_plot::x#1 bitmap_line_xdyi::@1/(byte) bitmap_plot::x#0 bitmap_line_ydxd::@1/(byte) bitmap_plot::x#3 bitmap_line_ydxi::@1/(byte) bitmap_plot::x#2 )
|
|
[103] (word) bitmap_plot::plotter_x#0 ← *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_plot::x#4)
|
|
[104] (word) bitmap_plot::plotter_y#0 ← *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#4)
|
|
[105] (word~) bitmap_plot::$0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0
|
|
[106] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_plot::x#4)
|
|
[107] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1
|
|
to:bitmap_plot::@return
|
|
bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot
|
|
[108] return
|
|
to:@return
|
|
bitmap_line_ydxi: scope:[bitmap_line_ydxi] from bitmap_line::@14 bitmap_line::@4
|
|
[109] (byte) bitmap_line_ydxi::y1#6 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::y1#1 bitmap_line::@4/(byte) bitmap_line_ydxi::y1#0 )
|
|
[109] (byte) bitmap_line_ydxi::yd#5 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::yd#1 bitmap_line::@4/(byte) bitmap_line_ydxi::yd#0 )
|
|
[109] (byte) bitmap_line_ydxi::y#6 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::y#1 bitmap_line::@4/(byte) bitmap_line_ydxi::y#0 )
|
|
[109] (byte) bitmap_line_ydxi::x#5 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::x#1 bitmap_line::@4/(byte) bitmap_line_ydxi::x#0 )
|
|
[109] (byte) bitmap_line_ydxi::xd#2 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::xd#1 bitmap_line::@4/(byte) bitmap_line_ydxi::xd#0 )
|
|
[110] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1
|
|
to:bitmap_line_ydxi::@1
|
|
bitmap_line_ydxi::@1: scope:[bitmap_line_ydxi] from bitmap_line_ydxi bitmap_line_ydxi::@2
|
|
[111] (byte) bitmap_line_ydxi::e#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::e#0 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::e#6 )
|
|
[111] (byte) bitmap_line_ydxi::y#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::y#6 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::y#2 )
|
|
[111] (byte) bitmap_line_ydxi::x#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::x#5 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::x#6 )
|
|
[112] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3
|
|
[113] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3
|
|
[114] call bitmap_plot
|
|
to:bitmap_line_ydxi::@4
|
|
bitmap_line_ydxi::@4: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@1
|
|
[115] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3
|
|
[116] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2
|
|
[117] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2
|
|
to:bitmap_line_ydxi::@3
|
|
bitmap_line_ydxi::@3: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@4
|
|
[118] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3
|
|
[119] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5
|
|
to:bitmap_line_ydxi::@2
|
|
bitmap_line_ydxi::@2: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@3 bitmap_line_ydxi::@4
|
|
[120] (byte) bitmap_line_ydxi::e#6 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::e#2 bitmap_line_ydxi::@4/(byte) bitmap_line_ydxi::e#1 )
|
|
[120] (byte) bitmap_line_ydxi::x#6 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::x#2 bitmap_line_ydxi::@4/(byte) bitmap_line_ydxi::x#3 )
|
|
[121] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1
|
|
[122] if((byte) bitmap_line_ydxi::y#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1
|
|
to:bitmap_line_ydxi::@return
|
|
bitmap_line_ydxi::@return: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@2
|
|
[123] return
|
|
to:@return
|
|
bitmap_line_xdyd: scope:[bitmap_line_xdyd] from bitmap_line::@12 bitmap_line::@9
|
|
[124] (byte) bitmap_line_xdyd::x1#6 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::x1#0 bitmap_line::@12/(byte) bitmap_line_xdyd::x1#1 )
|
|
[124] (byte) bitmap_line_xdyd::xd#5 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::xd#0 bitmap_line::@12/(byte) bitmap_line_xdyd::xd#1 )
|
|
[124] (byte) bitmap_line_xdyd::y#5 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::y#0 bitmap_line::@12/(byte) bitmap_line_xdyd::y#1 )
|
|
[124] (byte) bitmap_line_xdyd::x#6 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::x#0 bitmap_line::@12/(byte) bitmap_line_xdyd::x#1 )
|
|
[124] (byte) bitmap_line_xdyd::yd#2 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::yd#0 bitmap_line::@12/(byte) bitmap_line_xdyd::yd#1 )
|
|
[125] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1
|
|
to:bitmap_line_xdyd::@1
|
|
bitmap_line_xdyd::@1: scope:[bitmap_line_xdyd] from bitmap_line_xdyd bitmap_line_xdyd::@2
|
|
[126] (byte) bitmap_line_xdyd::e#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::e#0 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::e#6 )
|
|
[126] (byte) bitmap_line_xdyd::y#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::y#5 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::y#6 )
|
|
[126] (byte) bitmap_line_xdyd::x#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::x#6 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::x#2 )
|
|
[127] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3
|
|
[128] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3
|
|
[129] call bitmap_plot
|
|
to:bitmap_line_xdyd::@4
|
|
bitmap_line_xdyd::@4: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@1
|
|
[130] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3
|
|
[131] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2
|
|
[132] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2
|
|
to:bitmap_line_xdyd::@3
|
|
bitmap_line_xdyd::@3: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@4
|
|
[133] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3
|
|
[134] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5
|
|
to:bitmap_line_xdyd::@2
|
|
bitmap_line_xdyd::@2: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@3 bitmap_line_xdyd::@4
|
|
[135] (byte) bitmap_line_xdyd::e#6 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::e#2 bitmap_line_xdyd::@4/(byte) bitmap_line_xdyd::e#1 )
|
|
[135] (byte) bitmap_line_xdyd::y#6 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::y#2 bitmap_line_xdyd::@4/(byte) bitmap_line_xdyd::y#3 )
|
|
[136] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1
|
|
[137] if((byte) bitmap_line_xdyd::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1
|
|
to:bitmap_line_xdyd::@return
|
|
bitmap_line_xdyd::@return: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@2
|
|
[138] return
|
|
to:@return
|
|
bitmap_line_ydxd: scope:[bitmap_line_ydxd] from bitmap_line::@10 bitmap_line::@6
|
|
[139] (byte) bitmap_line_ydxd::y1#6 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::y1#0 bitmap_line::@6/(byte) bitmap_line_ydxd::y1#1 )
|
|
[139] (byte) bitmap_line_ydxd::yd#5 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::yd#0 bitmap_line::@6/(byte) bitmap_line_ydxd::yd#1 )
|
|
[139] (byte) bitmap_line_ydxd::y#7 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::y#0 bitmap_line::@6/(byte) bitmap_line_ydxd::y#1 )
|
|
[139] (byte) bitmap_line_ydxd::x#5 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::x#0 bitmap_line::@6/(byte) bitmap_line_ydxd::x#1 )
|
|
[139] (byte) bitmap_line_ydxd::xd#2 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::xd#0 bitmap_line::@6/(byte) bitmap_line_ydxd::xd#1 )
|
|
[140] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1
|
|
to:bitmap_line_ydxd::@1
|
|
bitmap_line_ydxd::@1: scope:[bitmap_line_ydxd] from bitmap_line_ydxd bitmap_line_ydxd::@2
|
|
[141] (byte) bitmap_line_ydxd::e#3 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::e#0 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::e#6 )
|
|
[141] (byte) bitmap_line_ydxd::y#2 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::y#7 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::y#3 )
|
|
[141] (byte) bitmap_line_ydxd::x#3 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::x#5 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::x#6 )
|
|
[142] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3
|
|
[143] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2
|
|
[144] call bitmap_plot
|
|
to:bitmap_line_ydxd::@4
|
|
bitmap_line_ydxd::@4: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@1
|
|
[145] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2
|
|
[146] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2
|
|
[147] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2
|
|
to:bitmap_line_ydxd::@3
|
|
bitmap_line_ydxd::@3: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@4
|
|
[148] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3
|
|
[149] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5
|
|
to:bitmap_line_ydxd::@2
|
|
bitmap_line_ydxd::@2: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@3 bitmap_line_ydxd::@4
|
|
[150] (byte) bitmap_line_ydxd::e#6 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::e#2 bitmap_line_ydxd::@4/(byte) bitmap_line_ydxd::e#1 )
|
|
[150] (byte) bitmap_line_ydxd::x#6 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::x#2 bitmap_line_ydxd::@4/(byte) bitmap_line_ydxd::x#3 )
|
|
[151] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1
|
|
[152] if((byte) bitmap_line_ydxd::y#3!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1
|
|
to:bitmap_line_ydxd::@return
|
|
bitmap_line_ydxd::@return: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@2
|
|
[153] return
|
|
to:@return
|
|
init_screen: scope:[init_screen] from main::@3
|
|
[154] phi()
|
|
to:init_screen::@1
|
|
init_screen::@1: scope:[init_screen] from init_screen init_screen::@1
|
|
[155] (byte*) init_screen::c#2 ← phi( init_screen/(const byte*) SCREEN#0 init_screen::@1/(byte*) init_screen::c#1 )
|
|
[156] *((byte*) init_screen::c#2) ← (byte/signed byte/word/signed word/dword/signed dword) $14
|
|
[157] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2
|
|
[158] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word/signed word/dword/signed dword) $400) goto init_screen::@1
|
|
to:init_screen::@return
|
|
init_screen::@return: scope:[init_screen] from init_screen::@1
|
|
[159] return
|
|
to:@return
|
|
bitmap_clear: scope:[bitmap_clear] from main::@2
|
|
[160] (word~) bitmap_clear::$3 ← *((const byte[$100]) bitmap_plot_xhi#0) w= *((const byte[$100]) bitmap_plot_xlo#0)
|
|
[161] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3
|
|
to:bitmap_clear::@1
|
|
bitmap_clear::@1: scope:[bitmap_clear] from bitmap_clear bitmap_clear::@3
|
|
[162] (byte) bitmap_clear::y#4 ← phi( bitmap_clear/(byte/signed byte/word/signed word/dword/signed dword) 0 bitmap_clear::@3/(byte) bitmap_clear::y#1 )
|
|
[162] (byte*) bitmap_clear::bitmap#3 ← phi( bitmap_clear/(byte*~) bitmap_clear::bitmap#5 bitmap_clear::@3/(byte*) bitmap_clear::bitmap#1 )
|
|
to:bitmap_clear::@2
|
|
bitmap_clear::@2: scope:[bitmap_clear] from bitmap_clear::@1 bitmap_clear::@2
|
|
[163] (byte) bitmap_clear::x#2 ← phi( bitmap_clear::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 bitmap_clear::@2/(byte) bitmap_clear::x#1 )
|
|
[163] (byte*) bitmap_clear::bitmap#2 ← phi( bitmap_clear::@1/(byte*) bitmap_clear::bitmap#3 bitmap_clear::@2/(byte*) bitmap_clear::bitmap#1 )
|
|
[164] *((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
|
[165] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2
|
|
[166] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2
|
|
[167] if((byte) bitmap_clear::x#1!=(byte/word/signed word/dword/signed dword) $c8) goto bitmap_clear::@2
|
|
to:bitmap_clear::@3
|
|
bitmap_clear::@3: scope:[bitmap_clear] from bitmap_clear::@2
|
|
[168] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4
|
|
[169] if((byte) bitmap_clear::y#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto bitmap_clear::@1
|
|
to:bitmap_clear::@return
|
|
bitmap_clear::@return: scope:[bitmap_clear] from bitmap_clear::@3
|
|
[170] return
|
|
to:@return
|
|
bitmap_init: scope:[bitmap_init] from main
|
|
[171] phi()
|
|
to:bitmap_init::@1
|
|
bitmap_init::@1: scope:[bitmap_init] from bitmap_init bitmap_init::@2
|
|
[172] (byte) bitmap_init::bits#3 ← phi( bitmap_init/(byte/word/signed word/dword/signed dword) $80 bitmap_init::@2/(byte) bitmap_init::bits#4 )
|
|
[172] (byte) bitmap_init::x#2 ← phi( bitmap_init/(byte/signed byte/word/signed word/dword/signed dword) 0 bitmap_init::@2/(byte) bitmap_init::x#1 )
|
|
[173] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte/word/signed word/dword/signed dword) $f8
|
|
[174] *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0
|
|
[175] *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← >(const byte*) BITMAP#0
|
|
[176] *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3
|
|
[177] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1
|
|
[178] if((byte) bitmap_init::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@6
|
|
to:bitmap_init::@2
|
|
bitmap_init::@2: scope:[bitmap_init] from bitmap_init::@1 bitmap_init::@6
|
|
[179] (byte) bitmap_init::bits#4 ← phi( bitmap_init::@6/(byte) bitmap_init::bits#1 bitmap_init::@1/(byte/word/signed word/dword/signed dword) $80 )
|
|
[180] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2
|
|
[181] if((byte) bitmap_init::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@1
|
|
to:bitmap_init::@3
|
|
bitmap_init::@3: scope:[bitmap_init] from bitmap_init::@2 bitmap_init::@4
|
|
[182] (byte*) bitmap_init::yoffs#2 ← phi( bitmap_init::@2/((byte*))(byte/signed byte/word/signed word/dword/signed dword) 0 bitmap_init::@4/(byte*) bitmap_init::yoffs#4 )
|
|
[182] (byte) bitmap_init::y#2 ← phi( bitmap_init::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 bitmap_init::@4/(byte) bitmap_init::y#1 )
|
|
[183] (byte~) bitmap_init::$6 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7
|
|
[184] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2
|
|
[185] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$6 | (byte~) bitmap_init::$7
|
|
[186] *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8
|
|
[187] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2
|
|
[188] *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9
|
|
[189] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7
|
|
[190] if((byte~) bitmap_init::$10!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto bitmap_init::@4
|
|
to:bitmap_init::@5
|
|
bitmap_init::@5: scope:[bitmap_init] from bitmap_init::@3
|
|
[191] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8
|
|
to:bitmap_init::@4
|
|
bitmap_init::@4: scope:[bitmap_init] from bitmap_init::@3 bitmap_init::@5
|
|
[192] (byte*) bitmap_init::yoffs#4 ← phi( bitmap_init::@3/(byte*) bitmap_init::yoffs#2 bitmap_init::@5/(byte*) bitmap_init::yoffs#1 )
|
|
[193] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2
|
|
[194] if((byte) bitmap_init::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@3
|
|
to:bitmap_init::@return
|
|
bitmap_init::@return: scope:[bitmap_init] from bitmap_init::@4
|
|
[195] return
|
|
to:@return
|
|
bitmap_init::@6: scope:[bitmap_init] from bitmap_init::@1
|
|
[196] phi()
|
|
to:bitmap_init::@2
|
|
|
|
|
|
VARIABLE REGISTER WEIGHTS
|
|
(byte*) BGCOL
|
|
(byte*) BITMAP
|
|
(byte*) BORDERCOL
|
|
(byte*) D011
|
|
(byte*) SCREEN
|
|
(byte) VIC_BMM
|
|
(byte) VIC_DEN
|
|
(byte*) VIC_MEMORY
|
|
(byte) VIC_RSEL
|
|
(void()) bitmap_clear()
|
|
(word~) bitmap_clear::$3 2.0
|
|
(byte*) bitmap_clear::bitmap
|
|
(byte*) bitmap_clear::bitmap#1 42.599999999999994
|
|
(byte*) bitmap_clear::bitmap#2 157.0
|
|
(byte*) bitmap_clear::bitmap#3 24.0
|
|
(byte*~) bitmap_clear::bitmap#5 4.0
|
|
(byte) bitmap_clear::x
|
|
(byte) bitmap_clear::x#1 151.5
|
|
(byte) bitmap_clear::x#2 67.33333333333333
|
|
(byte) bitmap_clear::y
|
|
(byte) bitmap_clear::y#1 16.5
|
|
(byte) bitmap_clear::y#4 3.6666666666666665
|
|
(void()) bitmap_init((byte*) bitmap_init::bitmap)
|
|
(byte~) bitmap_init::$0 22.0
|
|
(byte~) bitmap_init::$10 22.0
|
|
(byte~) bitmap_init::$6 11.0
|
|
(byte~) bitmap_init::$7 22.0
|
|
(byte~) bitmap_init::$8 22.0
|
|
(byte~) bitmap_init::$9 22.0
|
|
(byte*) bitmap_init::bitmap
|
|
(byte) bitmap_init::bits
|
|
(byte) bitmap_init::bits#1 11.0
|
|
(byte) bitmap_init::bits#3 6.6000000000000005
|
|
(byte) bitmap_init::bits#4 7.333333333333333
|
|
(byte) bitmap_init::x
|
|
(byte) bitmap_init::x#1 16.5
|
|
(byte) bitmap_init::x#2 7.333333333333334
|
|
(byte) bitmap_init::y
|
|
(byte) bitmap_init::y#1 16.5
|
|
(byte) bitmap_init::y#2 6.0
|
|
(byte*) bitmap_init::yoffs
|
|
(byte*) bitmap_init::yoffs#1 22.0
|
|
(byte*) bitmap_init::yoffs#2 6.111111111111112
|
|
(byte*) bitmap_init::yoffs#4 11.0
|
|
(void()) bitmap_line((byte) bitmap_line::x0 , (byte) bitmap_line::x1 , (byte) bitmap_line::y0 , (byte) bitmap_line::y1)
|
|
(byte) bitmap_line::x0
|
|
(byte) bitmap_line::x0#0 5.173913043478264
|
|
(byte) bitmap_line::x1
|
|
(byte) bitmap_line::x1#0 5.409090909090908
|
|
(byte) bitmap_line::xd
|
|
(byte) bitmap_line::xd#1 0.7
|
|
(byte) bitmap_line::xd#2 0.7
|
|
(byte) bitmap_line::y0
|
|
(byte) bitmap_line::y0#0 5.952380952380948
|
|
(byte) bitmap_line::y1
|
|
(byte) bitmap_line::y1#0 6.249999999999996
|
|
(byte) bitmap_line::yd
|
|
(byte) bitmap_line::yd#1 0.8888888888888888
|
|
(byte) bitmap_line::yd#10 0.8888888888888888
|
|
(byte) bitmap_line::yd#11 0.8888888888888888
|
|
(byte) bitmap_line::yd#2 0.8888888888888888
|
|
(void()) bitmap_line_xdyd((byte) bitmap_line_xdyd::x , (byte) bitmap_line_xdyd::y , (byte) bitmap_line_xdyd::x1 , (byte) bitmap_line_xdyd::xd , (byte) bitmap_line_xdyd::yd)
|
|
(byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6 2002.0
|
|
(byte) bitmap_line_xdyd::e
|
|
(byte) bitmap_line_xdyd::e#0 4.0
|
|
(byte) bitmap_line_xdyd::e#1 1334.6666666666667
|
|
(byte) bitmap_line_xdyd::e#2 2002.0
|
|
(byte) bitmap_line_xdyd::e#3 400.79999999999995
|
|
(byte) bitmap_line_xdyd::e#6 1001.0
|
|
(byte) bitmap_line_xdyd::x
|
|
(byte) bitmap_line_xdyd::x#0 0.8
|
|
(byte) bitmap_line_xdyd::x#1 0.8
|
|
(byte) bitmap_line_xdyd::x#2 375.375
|
|
(byte) bitmap_line_xdyd::x#3 751.25
|
|
(byte) bitmap_line_xdyd::x#6 3.0
|
|
(byte) bitmap_line_xdyd::x1
|
|
(byte) bitmap_line_xdyd::x1#0 1.3333333333333333
|
|
(byte) bitmap_line_xdyd::x1#1 1.3333333333333333
|
|
(byte) bitmap_line_xdyd::x1#6 71.78571428571429
|
|
(byte) bitmap_line_xdyd::xd
|
|
(byte) bitmap_line_xdyd::xd#0 2.0
|
|
(byte) bitmap_line_xdyd::xd#1 2.0
|
|
(byte) bitmap_line_xdyd::xd#5 143.28571428571428
|
|
(byte) bitmap_line_xdyd::y
|
|
(byte) bitmap_line_xdyd::y#0 1.0
|
|
(byte) bitmap_line_xdyd::y#1 1.0
|
|
(byte) bitmap_line_xdyd::y#2 1001.0
|
|
(byte) bitmap_line_xdyd::y#3 572.2857142857142
|
|
(byte) bitmap_line_xdyd::y#5 3.0
|
|
(byte) bitmap_line_xdyd::y#6 1001.0
|
|
(byte) bitmap_line_xdyd::yd
|
|
(byte) bitmap_line_xdyd::yd#0 4.0
|
|
(byte) bitmap_line_xdyd::yd#1 4.0
|
|
(byte) bitmap_line_xdyd::yd#2 71.92857142857143
|
|
(void()) bitmap_line_xdyi((byte) bitmap_line_xdyi::x , (byte) bitmap_line_xdyi::y , (byte) bitmap_line_xdyi::x1 , (byte) bitmap_line_xdyi::xd , (byte) bitmap_line_xdyi::yd)
|
|
(byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6 2002.0
|
|
(byte) bitmap_line_xdyi::e
|
|
(byte) bitmap_line_xdyi::e#0 4.0
|
|
(byte) bitmap_line_xdyi::e#1 1334.6666666666667
|
|
(byte) bitmap_line_xdyi::e#2 2002.0
|
|
(byte) bitmap_line_xdyi::e#3 400.79999999999995
|
|
(byte) bitmap_line_xdyi::e#6 1001.0
|
|
(byte) bitmap_line_xdyi::x
|
|
(byte) bitmap_line_xdyi::x#0 0.8
|
|
(byte) bitmap_line_xdyi::x#1 0.8
|
|
(byte) bitmap_line_xdyi::x#2 375.375
|
|
(byte) bitmap_line_xdyi::x#3 751.25
|
|
(byte) bitmap_line_xdyi::x#6 3.0
|
|
(byte) bitmap_line_xdyi::x1
|
|
(byte) bitmap_line_xdyi::x1#0 1.3333333333333333
|
|
(byte) bitmap_line_xdyi::x1#1 1.3333333333333333
|
|
(byte) bitmap_line_xdyi::x1#6 71.78571428571429
|
|
(byte) bitmap_line_xdyi::xd
|
|
(byte) bitmap_line_xdyi::xd#0 2.0
|
|
(byte) bitmap_line_xdyi::xd#1 2.0
|
|
(byte) bitmap_line_xdyi::xd#5 143.28571428571428
|
|
(byte) bitmap_line_xdyi::y
|
|
(byte) bitmap_line_xdyi::y#0 1.0
|
|
(byte) bitmap_line_xdyi::y#1 1.0
|
|
(byte) bitmap_line_xdyi::y#2 1001.0
|
|
(byte) bitmap_line_xdyi::y#3 572.2857142857142
|
|
(byte) bitmap_line_xdyi::y#5 3.0
|
|
(byte) bitmap_line_xdyi::y#6 1001.0
|
|
(byte) bitmap_line_xdyi::yd
|
|
(byte) bitmap_line_xdyi::yd#0 4.0
|
|
(byte) bitmap_line_xdyi::yd#1 4.0
|
|
(byte) bitmap_line_xdyi::yd#2 71.92857142857143
|
|
(void()) bitmap_line_ydxd((byte) bitmap_line_ydxd::y , (byte) bitmap_line_ydxd::x , (byte) bitmap_line_ydxd::y1 , (byte) bitmap_line_ydxd::yd , (byte) bitmap_line_ydxd::xd)
|
|
(byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6 2002.0
|
|
(byte) bitmap_line_ydxd::e
|
|
(byte) bitmap_line_ydxd::e#0 4.0
|
|
(byte) bitmap_line_ydxd::e#1 1334.6666666666667
|
|
(byte) bitmap_line_ydxd::e#2 2002.0
|
|
(byte) bitmap_line_ydxd::e#3 400.79999999999995
|
|
(byte) bitmap_line_ydxd::e#6 1001.0
|
|
(byte) bitmap_line_ydxd::x
|
|
(byte) bitmap_line_ydxd::x#0 1.0
|
|
(byte) bitmap_line_ydxd::x#1 1.0
|
|
(byte) bitmap_line_ydxd::x#2 1001.0
|
|
(byte) bitmap_line_ydxd::x#3 572.2857142857142
|
|
(byte) bitmap_line_ydxd::x#5 3.0
|
|
(byte) bitmap_line_ydxd::x#6 1001.0
|
|
(byte) bitmap_line_ydxd::xd
|
|
(byte) bitmap_line_ydxd::xd#0 4.0
|
|
(byte) bitmap_line_ydxd::xd#1 4.0
|
|
(byte) bitmap_line_ydxd::xd#2 71.92857142857143
|
|
(byte) bitmap_line_ydxd::y
|
|
(byte) bitmap_line_ydxd::y#0 0.8
|
|
(byte) bitmap_line_ydxd::y#1 0.8
|
|
(byte) bitmap_line_ydxd::y#2 751.25
|
|
(byte) bitmap_line_ydxd::y#3 375.375
|
|
(byte) bitmap_line_ydxd::y#7 3.0
|
|
(byte) bitmap_line_ydxd::y1
|
|
(byte) bitmap_line_ydxd::y1#0 1.3333333333333333
|
|
(byte) bitmap_line_ydxd::y1#1 1.3333333333333333
|
|
(byte) bitmap_line_ydxd::y1#6 71.78571428571429
|
|
(byte) bitmap_line_ydxd::yd
|
|
(byte) bitmap_line_ydxd::yd#0 2.0
|
|
(byte) bitmap_line_ydxd::yd#1 2.0
|
|
(byte) bitmap_line_ydxd::yd#5 143.28571428571428
|
|
(void()) bitmap_line_ydxi((byte) bitmap_line_ydxi::y , (byte) bitmap_line_ydxi::x , (byte) bitmap_line_ydxi::y1 , (byte) bitmap_line_ydxi::yd , (byte) bitmap_line_ydxi::xd)
|
|
(byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6 2002.0
|
|
(byte) bitmap_line_ydxi::e
|
|
(byte) bitmap_line_ydxi::e#0 4.0
|
|
(byte) bitmap_line_ydxi::e#1 1334.6666666666667
|
|
(byte) bitmap_line_ydxi::e#2 2002.0
|
|
(byte) bitmap_line_ydxi::e#3 400.79999999999995
|
|
(byte) bitmap_line_ydxi::e#6 1001.0
|
|
(byte) bitmap_line_ydxi::x
|
|
(byte) bitmap_line_ydxi::x#0 1.0
|
|
(byte) bitmap_line_ydxi::x#1 1.0
|
|
(byte) bitmap_line_ydxi::x#2 1001.0
|
|
(byte) bitmap_line_ydxi::x#3 572.2857142857142
|
|
(byte) bitmap_line_ydxi::x#5 3.0
|
|
(byte) bitmap_line_ydxi::x#6 1001.0
|
|
(byte) bitmap_line_ydxi::xd
|
|
(byte) bitmap_line_ydxi::xd#0 4.0
|
|
(byte) bitmap_line_ydxi::xd#1 4.0
|
|
(byte) bitmap_line_ydxi::xd#2 71.92857142857143
|
|
(byte) bitmap_line_ydxi::y
|
|
(byte) bitmap_line_ydxi::y#0 0.8
|
|
(byte) bitmap_line_ydxi::y#1 0.8
|
|
(byte) bitmap_line_ydxi::y#2 375.375
|
|
(byte) bitmap_line_ydxi::y#3 751.25
|
|
(byte) bitmap_line_ydxi::y#6 3.0
|
|
(byte) bitmap_line_ydxi::y1
|
|
(byte) bitmap_line_ydxi::y1#0 1.3333333333333333
|
|
(byte) bitmap_line_ydxi::y1#1 1.3333333333333333
|
|
(byte) bitmap_line_ydxi::y1#6 71.78571428571429
|
|
(byte) bitmap_line_ydxi::yd
|
|
(byte) bitmap_line_ydxi::yd#0 2.0
|
|
(byte) bitmap_line_ydxi::yd#1 2.0
|
|
(byte) bitmap_line_ydxi::yd#5 143.28571428571428
|
|
(void()) bitmap_plot((byte) bitmap_plot::x , (byte) bitmap_plot::y)
|
|
(word~) bitmap_plot::$0 1.0
|
|
(byte~) bitmap_plot::$1 4.0
|
|
(byte*) bitmap_plot::plotter
|
|
(word) bitmap_plot::plotter_x
|
|
(word) bitmap_plot::plotter_x#0 2.0
|
|
(word) bitmap_plot::plotter_y
|
|
(word) bitmap_plot::plotter_y#0 4.0
|
|
(byte) bitmap_plot::x
|
|
(byte) bitmap_plot::x#0 1001.0
|
|
(byte) bitmap_plot::x#1 1001.0
|
|
(byte) bitmap_plot::x#2 1001.0
|
|
(byte) bitmap_plot::x#3 1001.0
|
|
(byte) bitmap_plot::x#4 1002.5
|
|
(byte) bitmap_plot::y
|
|
(byte) bitmap_plot::y#0 2002.0
|
|
(byte) bitmap_plot::y#1 2002.0
|
|
(byte) bitmap_plot::y#2 2002.0
|
|
(byte) bitmap_plot::y#3 2002.0
|
|
(byte) bitmap_plot::y#4 2004.0
|
|
(byte[$100]) bitmap_plot_bit
|
|
(byte[$100]) bitmap_plot_xhi
|
|
(byte[$100]) bitmap_plot_xlo
|
|
(byte[$100]) bitmap_plot_yhi
|
|
(byte[$100]) bitmap_plot_ylo
|
|
(void()) init_screen()
|
|
(byte*) init_screen::c
|
|
(byte*) init_screen::c#1 16.5
|
|
(byte*) init_screen::c#2 16.5
|
|
(void()) lines()
|
|
(byte) lines::l
|
|
(byte) lines::l#1 151.5
|
|
(byte) lines::l#2 100.99999999999999
|
|
(byte) lines_cnt
|
|
(byte[]) lines_x
|
|
(byte[]) lines_y
|
|
(void()) main()
|
|
|
|
Initial phi equivalence classes
|
|
[ lines::l#2 lines::l#1 ]
|
|
[ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ]
|
|
[ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ]
|
|
[ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ]
|
|
[ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 ]
|
|
[ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ]
|
|
[ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ]
|
|
[ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ]
|
|
[ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ]
|
|
[ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ]
|
|
[ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ]
|
|
[ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ]
|
|
[ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#5 bitmap_line_ydxi::x#1 bitmap_line_ydxi::x#0 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ]
|
|
[ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 ]
|
|
[ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ]
|
|
[ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ]
|
|
[ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ]
|
|
[ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ]
|
|
[ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#2 ]
|
|
[ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ]
|
|
[ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ]
|
|
[ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ]
|
|
[ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ]
|
|
[ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ]
|
|
[ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ]
|
|
[ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ]
|
|
[ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ]
|
|
[ init_screen::c#2 init_screen::c#1 ]
|
|
[ bitmap_clear::y#4 bitmap_clear::y#1 ]
|
|
[ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ]
|
|
[ bitmap_clear::x#2 bitmap_clear::x#1 ]
|
|
[ bitmap_init::x#2 bitmap_init::x#1 ]
|
|
[ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ]
|
|
[ bitmap_init::y#2 bitmap_init::y#1 ]
|
|
[ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ]
|
|
Added variable bitmap_line::x0#0 to zero page equivalence class [ bitmap_line::x0#0 ]
|
|
Added variable bitmap_line::x1#0 to zero page equivalence class [ bitmap_line::x1#0 ]
|
|
Added variable bitmap_line::y0#0 to zero page equivalence class [ bitmap_line::y0#0 ]
|
|
Added variable bitmap_line::y1#0 to zero page equivalence class [ bitmap_line::y1#0 ]
|
|
Added variable bitmap_line::xd#2 to zero page equivalence class [ bitmap_line::xd#2 ]
|
|
Added variable bitmap_line::yd#2 to zero page equivalence class [ bitmap_line::yd#2 ]
|
|
Added variable bitmap_line::yd#1 to zero page equivalence class [ bitmap_line::yd#1 ]
|
|
Added variable bitmap_line::xd#1 to zero page equivalence class [ bitmap_line::xd#1 ]
|
|
Added variable bitmap_line::yd#10 to zero page equivalence class [ bitmap_line::yd#10 ]
|
|
Added variable bitmap_line::yd#11 to zero page equivalence class [ bitmap_line::yd#11 ]
|
|
Added variable bitmap_line_xdyi::$6 to zero page equivalence class [ bitmap_line_xdyi::$6 ]
|
|
Added variable bitmap_plot::plotter_x#0 to zero page equivalence class [ bitmap_plot::plotter_x#0 ]
|
|
Added variable bitmap_plot::plotter_y#0 to zero page equivalence class [ bitmap_plot::plotter_y#0 ]
|
|
Added variable bitmap_plot::$0 to zero page equivalence class [ bitmap_plot::$0 ]
|
|
Added variable bitmap_plot::$1 to zero page equivalence class [ bitmap_plot::$1 ]
|
|
Added variable bitmap_line_ydxi::$6 to zero page equivalence class [ bitmap_line_ydxi::$6 ]
|
|
Added variable bitmap_line_xdyd::$6 to zero page equivalence class [ bitmap_line_xdyd::$6 ]
|
|
Added variable bitmap_line_ydxd::$6 to zero page equivalence class [ bitmap_line_ydxd::$6 ]
|
|
Added variable bitmap_clear::$3 to zero page equivalence class [ bitmap_clear::$3 ]
|
|
Added variable bitmap_init::$0 to zero page equivalence class [ bitmap_init::$0 ]
|
|
Added variable bitmap_init::$6 to zero page equivalence class [ bitmap_init::$6 ]
|
|
Added variable bitmap_init::$7 to zero page equivalence class [ bitmap_init::$7 ]
|
|
Added variable bitmap_init::$8 to zero page equivalence class [ bitmap_init::$8 ]
|
|
Added variable bitmap_init::$9 to zero page equivalence class [ bitmap_init::$9 ]
|
|
Added variable bitmap_init::$10 to zero page equivalence class [ bitmap_init::$10 ]
|
|
Complete equivalence classes
|
|
[ lines::l#2 lines::l#1 ]
|
|
[ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ]
|
|
[ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ]
|
|
[ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ]
|
|
[ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 ]
|
|
[ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ]
|
|
[ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ]
|
|
[ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ]
|
|
[ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ]
|
|
[ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ]
|
|
[ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ]
|
|
[ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ]
|
|
[ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#5 bitmap_line_ydxi::x#1 bitmap_line_ydxi::x#0 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ]
|
|
[ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 ]
|
|
[ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ]
|
|
[ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ]
|
|
[ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ]
|
|
[ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ]
|
|
[ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#2 ]
|
|
[ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ]
|
|
[ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ]
|
|
[ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ]
|
|
[ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ]
|
|
[ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ]
|
|
[ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ]
|
|
[ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ]
|
|
[ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ]
|
|
[ init_screen::c#2 init_screen::c#1 ]
|
|
[ bitmap_clear::y#4 bitmap_clear::y#1 ]
|
|
[ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ]
|
|
[ bitmap_clear::x#2 bitmap_clear::x#1 ]
|
|
[ bitmap_init::x#2 bitmap_init::x#1 ]
|
|
[ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ]
|
|
[ bitmap_init::y#2 bitmap_init::y#1 ]
|
|
[ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ]
|
|
[ bitmap_line::x0#0 ]
|
|
[ bitmap_line::x1#0 ]
|
|
[ bitmap_line::y0#0 ]
|
|
[ bitmap_line::y1#0 ]
|
|
[ bitmap_line::xd#2 ]
|
|
[ bitmap_line::yd#2 ]
|
|
[ bitmap_line::yd#1 ]
|
|
[ bitmap_line::xd#1 ]
|
|
[ bitmap_line::yd#10 ]
|
|
[ bitmap_line::yd#11 ]
|
|
[ bitmap_line_xdyi::$6 ]
|
|
[ bitmap_plot::plotter_x#0 ]
|
|
[ bitmap_plot::plotter_y#0 ]
|
|
[ bitmap_plot::$0 ]
|
|
[ bitmap_plot::$1 ]
|
|
[ bitmap_line_ydxi::$6 ]
|
|
[ bitmap_line_xdyd::$6 ]
|
|
[ bitmap_line_ydxd::$6 ]
|
|
[ bitmap_clear::$3 ]
|
|
[ bitmap_init::$0 ]
|
|
[ bitmap_init::$6 ]
|
|
[ bitmap_init::$7 ]
|
|
[ bitmap_init::$8 ]
|
|
[ bitmap_init::$9 ]
|
|
[ bitmap_init::$10 ]
|
|
Allocated zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ]
|
|
Allocated zp ZP_BYTE:3 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ]
|
|
Allocated zp ZP_BYTE:4 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ]
|
|
Allocated zp ZP_BYTE:5 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ]
|
|
Allocated zp ZP_BYTE:6 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 ]
|
|
Allocated zp ZP_BYTE:7 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ]
|
|
Allocated zp ZP_BYTE:8 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ]
|
|
Allocated zp ZP_BYTE:9 [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ]
|
|
Allocated zp ZP_BYTE:10 [ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ]
|
|
Allocated zp ZP_BYTE:11 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ]
|
|
Allocated zp ZP_BYTE:12 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ]
|
|
Allocated zp ZP_BYTE:13 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ]
|
|
Allocated zp ZP_BYTE:14 [ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#5 bitmap_line_ydxi::x#1 bitmap_line_ydxi::x#0 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ]
|
|
Allocated zp ZP_BYTE:15 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 ]
|
|
Allocated zp ZP_BYTE:16 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ]
|
|
Allocated zp ZP_BYTE:17 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ]
|
|
Allocated zp ZP_BYTE:18 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ]
|
|
Allocated zp ZP_BYTE:19 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ]
|
|
Allocated zp ZP_BYTE:20 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#2 ]
|
|
Allocated zp ZP_BYTE:21 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ]
|
|
Allocated zp ZP_BYTE:22 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ]
|
|
Allocated zp ZP_BYTE:23 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ]
|
|
Allocated zp ZP_BYTE:24 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ]
|
|
Allocated zp ZP_BYTE:25 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ]
|
|
Allocated zp ZP_BYTE:26 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ]
|
|
Allocated zp ZP_BYTE:27 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ]
|
|
Allocated zp ZP_BYTE:28 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ]
|
|
Allocated zp ZP_WORD:29 [ init_screen::c#2 init_screen::c#1 ]
|
|
Allocated zp ZP_BYTE:31 [ bitmap_clear::y#4 bitmap_clear::y#1 ]
|
|
Allocated zp ZP_WORD:32 [ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ]
|
|
Allocated zp ZP_BYTE:34 [ bitmap_clear::x#2 bitmap_clear::x#1 ]
|
|
Allocated zp ZP_BYTE:35 [ bitmap_init::x#2 bitmap_init::x#1 ]
|
|
Allocated zp ZP_BYTE:36 [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ]
|
|
Allocated zp ZP_BYTE:37 [ bitmap_init::y#2 bitmap_init::y#1 ]
|
|
Allocated zp ZP_WORD:38 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ]
|
|
Allocated zp ZP_BYTE:40 [ bitmap_line::x0#0 ]
|
|
Allocated zp ZP_BYTE:41 [ bitmap_line::x1#0 ]
|
|
Allocated zp ZP_BYTE:42 [ bitmap_line::y0#0 ]
|
|
Allocated zp ZP_BYTE:43 [ bitmap_line::y1#0 ]
|
|
Allocated zp ZP_BYTE:44 [ bitmap_line::xd#2 ]
|
|
Allocated zp ZP_BYTE:45 [ bitmap_line::yd#2 ]
|
|
Allocated zp ZP_BYTE:46 [ bitmap_line::yd#1 ]
|
|
Allocated zp ZP_BYTE:47 [ bitmap_line::xd#1 ]
|
|
Allocated zp ZP_BYTE:48 [ bitmap_line::yd#10 ]
|
|
Allocated zp ZP_BYTE:49 [ bitmap_line::yd#11 ]
|
|
Allocated zp ZP_BYTE:50 [ bitmap_line_xdyi::$6 ]
|
|
Allocated zp ZP_WORD:51 [ bitmap_plot::plotter_x#0 ]
|
|
Allocated zp ZP_WORD:53 [ bitmap_plot::plotter_y#0 ]
|
|
Allocated zp ZP_WORD:55 [ bitmap_plot::$0 ]
|
|
Allocated zp ZP_BYTE:57 [ bitmap_plot::$1 ]
|
|
Allocated zp ZP_BYTE:58 [ bitmap_line_ydxi::$6 ]
|
|
Allocated zp ZP_BYTE:59 [ bitmap_line_xdyd::$6 ]
|
|
Allocated zp ZP_BYTE:60 [ bitmap_line_ydxd::$6 ]
|
|
Allocated zp ZP_WORD:61 [ bitmap_clear::$3 ]
|
|
Allocated zp ZP_BYTE:63 [ bitmap_init::$0 ]
|
|
Allocated zp ZP_BYTE:64 [ bitmap_init::$6 ]
|
|
Allocated zp ZP_BYTE:65 [ bitmap_init::$7 ]
|
|
Allocated zp ZP_BYTE:66 [ bitmap_init::$8 ]
|
|
Allocated zp ZP_BYTE:67 [ bitmap_init::$9 ]
|
|
Allocated zp ZP_BYTE:68 [ bitmap_init::$10 ]
|
|
|
|
INITIAL ASM
|
|
//SEG0 File Comments
|
|
//SEG1 Basic Upstart
|
|
.pc = $801 "Basic"
|
|
:BasicUpstart(bbegin)
|
|
.pc = $80d "Program"
|
|
//SEG2 Global Constants & labels
|
|
.label BORDERCOL = $d020
|
|
.label BGCOL = $d021
|
|
.label D011 = $d011
|
|
.const VIC_BMM = $20
|
|
.const VIC_DEN = $10
|
|
.const VIC_RSEL = 8
|
|
.label VIC_MEMORY = $d018
|
|
.label SCREEN = $400
|
|
.label BITMAP = $2000
|
|
.const lines_cnt = 8
|
|
//SEG3 @begin
|
|
bbegin:
|
|
//SEG4 [1] phi from @begin to @1 [phi:@begin->@1]
|
|
b1_from_bbegin:
|
|
jmp b1
|
|
//SEG5 @1
|
|
b1:
|
|
//SEG6 [2] call main
|
|
jsr main
|
|
//SEG7 [3] phi from @1 to @end [phi:@1->@end]
|
|
bend_from_b1:
|
|
jmp bend
|
|
//SEG8 @end
|
|
bend:
|
|
//SEG9 main
|
|
main: {
|
|
//SEG10 [4] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuc1=vbuc2
|
|
lda #0
|
|
sta BORDERCOL
|
|
//SEG11 [5] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuc1=vbuc2
|
|
lda #0
|
|
sta BGCOL
|
|
//SEG12 [6] *((const byte*) D011#0) ← (const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 -- _deref_pbuc1=vbuc2
|
|
lda #VIC_BMM|VIC_DEN|VIC_RSEL|3
|
|
sta D011
|
|
//SEG13 [7] *((const byte*) VIC_MEMORY#0) ← ((byte))((word))(const byte*) SCREEN#0&(word/signed word/dword/signed dword) $3fff/(byte/signed byte/word/signed word/dword/signed dword) $40|((word))(const byte*) BITMAP#0&(word/signed word/dword/signed dword) $3fff/(word/signed word/dword/signed dword) $400 -- _deref_pbuc1=vbuc2
|
|
lda #(SCREEN&$3fff)/$40|(BITMAP&$3fff)/$400
|
|
sta VIC_MEMORY
|
|
//SEG14 [8] call bitmap_init
|
|
//SEG15 [171] phi from main to bitmap_init [phi:main->bitmap_init]
|
|
bitmap_init_from_main:
|
|
jsr bitmap_init
|
|
//SEG16 [9] phi from main to main::@2 [phi:main->main::@2]
|
|
b2_from_main:
|
|
jmp b2
|
|
//SEG17 main::@2
|
|
b2:
|
|
//SEG18 [10] call bitmap_clear
|
|
jsr bitmap_clear
|
|
//SEG19 [11] phi from main::@2 to main::@3 [phi:main::@2->main::@3]
|
|
b3_from_b2:
|
|
jmp b3
|
|
//SEG20 main::@3
|
|
b3:
|
|
//SEG21 [12] call init_screen
|
|
//SEG22 [154] phi from main::@3 to init_screen [phi:main::@3->init_screen]
|
|
init_screen_from_b3:
|
|
jsr init_screen
|
|
//SEG23 [13] phi from main::@1 main::@3 to main::@1 [phi:main::@1/main::@3->main::@1]
|
|
b1_from_b1:
|
|
b1_from_b3:
|
|
jmp b1
|
|
//SEG24 main::@1
|
|
b1:
|
|
//SEG25 [14] call lines
|
|
//SEG26 [15] phi from main::@1 to lines [phi:main::@1->lines]
|
|
lines_from_b1:
|
|
jsr lines
|
|
jmp b1_from_b1
|
|
}
|
|
//SEG27 lines
|
|
lines: {
|
|
.label l = 2
|
|
//SEG28 [16] phi from lines to lines::@1 [phi:lines->lines::@1]
|
|
b1_from_lines:
|
|
//SEG29 [16] phi (byte) lines::l#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:lines->lines::@1#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta l
|
|
jmp b1
|
|
//SEG30 [16] phi from lines::@2 to lines::@1 [phi:lines::@2->lines::@1]
|
|
b1_from_b2:
|
|
//SEG31 [16] phi (byte) lines::l#2 = (byte) lines::l#1 [phi:lines::@2->lines::@1#0] -- register_copy
|
|
jmp b1
|
|
//SEG32 lines::@1
|
|
b1:
|
|
//SEG33 [17] (byte) bitmap_line::x0#0 ← *((const byte[]) lines_x#0 + (byte) lines::l#2) -- vbuz1=pbuc1_derefidx_vbuz2
|
|
ldy l
|
|
lda lines_x,y
|
|
sta bitmap_line.x0
|
|
//SEG34 [18] (byte) bitmap_line::x1#0 ← *((const byte[]) lines_x#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) lines::l#2) -- vbuz1=pbuc1_derefidx_vbuz2
|
|
ldy l
|
|
lda lines_x+1,y
|
|
sta bitmap_line.x1
|
|
//SEG35 [19] (byte) bitmap_line::y0#0 ← *((const byte[]) lines_y#0 + (byte) lines::l#2) -- vbuz1=pbuc1_derefidx_vbuz2
|
|
ldy l
|
|
lda lines_y,y
|
|
sta bitmap_line.y0
|
|
//SEG36 [20] (byte) bitmap_line::y1#0 ← *((const byte[]) lines_y#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) lines::l#2) -- vbuz1=pbuc1_derefidx_vbuz2
|
|
ldy l
|
|
lda lines_y+1,y
|
|
sta bitmap_line.y1
|
|
//SEG37 [21] call bitmap_line
|
|
jsr bitmap_line
|
|
jmp b2
|
|
//SEG38 lines::@2
|
|
b2:
|
|
//SEG39 [22] (byte) lines::l#1 ← ++ (byte) lines::l#2 -- vbuz1=_inc_vbuz1
|
|
inc l
|
|
//SEG40 [23] if((byte) lines::l#1<(const byte) lines_cnt#0) goto lines::@1 -- vbuz1_lt_vbuc1_then_la1
|
|
lda l
|
|
cmp #lines_cnt
|
|
bcc b1_from_b2
|
|
jmp breturn
|
|
//SEG41 lines::@return
|
|
breturn:
|
|
//SEG42 [24] return
|
|
rts
|
|
}
|
|
//SEG43 bitmap_line
|
|
// Draw a line on the bitmap
|
|
// bitmap_line(byte zeropage($28) x0, byte zeropage($29) x1, byte zeropage($2a) y0, byte zeropage($2b) y1)
|
|
bitmap_line: {
|
|
.label xd = $2f
|
|
.label xd_2 = $2c
|
|
.label yd = $2e
|
|
.label yd_2 = $2d
|
|
.label x0 = $28
|
|
.label x1 = $29
|
|
.label y0 = $2a
|
|
.label y1 = $2b
|
|
.label yd_10 = $30
|
|
.label yd_11 = $31
|
|
//SEG44 [25] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1 -- vbuz1_lt_vbuz2_then_la1
|
|
lda x0
|
|
cmp x1
|
|
bcc b1
|
|
jmp b2
|
|
//SEG45 bitmap_line::@2
|
|
b2:
|
|
//SEG46 [26] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 -- vbuz1=vbuz2_minus_vbuz3
|
|
lda x0
|
|
sec
|
|
sbc x1
|
|
sta xd_2
|
|
//SEG47 [27] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@7 -- vbuz1_lt_vbuz2_then_la1
|
|
lda y0
|
|
cmp y1
|
|
bcc b7
|
|
jmp b3
|
|
//SEG48 bitmap_line::@3
|
|
b3:
|
|
//SEG49 [28] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuz3
|
|
lda y0
|
|
sec
|
|
sbc y1
|
|
sta yd_2
|
|
//SEG50 [29] if((byte) bitmap_line::yd#2<(byte) bitmap_line::xd#2) goto bitmap_line::@8 -- vbuz1_lt_vbuz2_then_la1
|
|
lda yd_2
|
|
cmp xd_2
|
|
bcc b8
|
|
jmp b4
|
|
//SEG51 bitmap_line::@4
|
|
b4:
|
|
//SEG52 [30] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2
|
|
lda y1
|
|
sta bitmap_line_ydxi.y
|
|
//SEG53 [31] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2
|
|
lda x1
|
|
sta bitmap_line_ydxi.x
|
|
//SEG54 [32] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2
|
|
lda y0
|
|
sta bitmap_line_ydxi.y1
|
|
//SEG55 [33] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#2 -- vbuz1=vbuz2
|
|
lda yd_2
|
|
sta bitmap_line_ydxi.yd
|
|
//SEG56 [34] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#2 -- vbuz1=vbuz2
|
|
lda xd_2
|
|
sta bitmap_line_ydxi.xd
|
|
//SEG57 [35] call bitmap_line_ydxi
|
|
//SEG58 [109] phi from bitmap_line::@4 to bitmap_line_ydxi [phi:bitmap_line::@4->bitmap_line_ydxi]
|
|
bitmap_line_ydxi_from_b4:
|
|
//SEG59 [109] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#0 [phi:bitmap_line::@4->bitmap_line_ydxi#0] -- register_copy
|
|
//SEG60 [109] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#1] -- register_copy
|
|
//SEG61 [109] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#0 [phi:bitmap_line::@4->bitmap_line_ydxi#2] -- register_copy
|
|
//SEG62 [109] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#0 [phi:bitmap_line::@4->bitmap_line_ydxi#3] -- register_copy
|
|
//SEG63 [109] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#4] -- register_copy
|
|
jsr bitmap_line_ydxi
|
|
jmp breturn
|
|
//SEG64 bitmap_line::@return
|
|
breturn:
|
|
//SEG65 [36] return
|
|
rts
|
|
//SEG66 bitmap_line::@8
|
|
b8:
|
|
//SEG67 [37] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2
|
|
lda x1
|
|
sta bitmap_line_xdyi.x
|
|
//SEG68 [38] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2
|
|
lda y1
|
|
sta bitmap_line_xdyi.y
|
|
//SEG69 [39] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2
|
|
lda x0
|
|
sta bitmap_line_xdyi.x1
|
|
//SEG70 [40] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#2 -- vbuz1=vbuz2
|
|
lda xd_2
|
|
sta bitmap_line_xdyi.xd
|
|
//SEG71 [41] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#2 -- vbuz1=vbuz2
|
|
lda yd_2
|
|
sta bitmap_line_xdyi.yd
|
|
//SEG72 [42] call bitmap_line_xdyi
|
|
//SEG73 [87] phi from bitmap_line::@8 to bitmap_line_xdyi [phi:bitmap_line::@8->bitmap_line_xdyi]
|
|
bitmap_line_xdyi_from_b8:
|
|
//SEG74 [87] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#0 [phi:bitmap_line::@8->bitmap_line_xdyi#0] -- register_copy
|
|
//SEG75 [87] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#1] -- register_copy
|
|
//SEG76 [87] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#0 [phi:bitmap_line::@8->bitmap_line_xdyi#2] -- register_copy
|
|
//SEG77 [87] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#0 [phi:bitmap_line::@8->bitmap_line_xdyi#3] -- register_copy
|
|
//SEG78 [87] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#4] -- register_copy
|
|
jsr bitmap_line_xdyi
|
|
jmp breturn
|
|
//SEG79 bitmap_line::@7
|
|
b7:
|
|
//SEG80 [43] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuz2_minus_vbuz3
|
|
lda y1
|
|
sec
|
|
sbc y0
|
|
sta yd
|
|
//SEG81 [44] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#2) goto bitmap_line::@9 -- vbuz1_lt_vbuz2_then_la1
|
|
lda yd
|
|
cmp xd_2
|
|
bcc b9
|
|
jmp b10
|
|
//SEG82 bitmap_line::@10
|
|
b10:
|
|
//SEG83 [45] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2
|
|
lda y0
|
|
sta bitmap_line_ydxd.y
|
|
//SEG84 [46] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2
|
|
lda x0
|
|
sta bitmap_line_ydxd.x
|
|
//SEG85 [47] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2
|
|
lda y1
|
|
sta bitmap_line_ydxd.y1
|
|
//SEG86 [48] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuz2
|
|
lda yd
|
|
sta bitmap_line_ydxd.yd
|
|
//SEG87 [49] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#2 -- vbuz1=vbuz2
|
|
lda xd_2
|
|
sta bitmap_line_ydxd.xd
|
|
//SEG88 [50] call bitmap_line_ydxd
|
|
//SEG89 [139] phi from bitmap_line::@10 to bitmap_line_ydxd [phi:bitmap_line::@10->bitmap_line_ydxd]
|
|
bitmap_line_ydxd_from_b10:
|
|
//SEG90 [139] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#0 [phi:bitmap_line::@10->bitmap_line_ydxd#0] -- register_copy
|
|
//SEG91 [139] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#1] -- register_copy
|
|
//SEG92 [139] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#0 [phi:bitmap_line::@10->bitmap_line_ydxd#2] -- register_copy
|
|
//SEG93 [139] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#0 [phi:bitmap_line::@10->bitmap_line_ydxd#3] -- register_copy
|
|
//SEG94 [139] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#4] -- register_copy
|
|
jsr bitmap_line_ydxd
|
|
jmp breturn
|
|
//SEG95 bitmap_line::@9
|
|
b9:
|
|
//SEG96 [51] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2
|
|
lda x1
|
|
sta bitmap_line_xdyd.x
|
|
//SEG97 [52] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2
|
|
lda y1
|
|
sta bitmap_line_xdyd.y
|
|
//SEG98 [53] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2
|
|
lda x0
|
|
sta bitmap_line_xdyd.x1
|
|
//SEG99 [54] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#2 -- vbuz1=vbuz2
|
|
lda xd_2
|
|
sta bitmap_line_xdyd.xd
|
|
//SEG100 [55] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuz2
|
|
lda yd
|
|
sta bitmap_line_xdyd.yd
|
|
//SEG101 [56] call bitmap_line_xdyd
|
|
//SEG102 [124] phi from bitmap_line::@9 to bitmap_line_xdyd [phi:bitmap_line::@9->bitmap_line_xdyd]
|
|
bitmap_line_xdyd_from_b9:
|
|
//SEG103 [124] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#0 [phi:bitmap_line::@9->bitmap_line_xdyd#0] -- register_copy
|
|
//SEG104 [124] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#1] -- register_copy
|
|
//SEG105 [124] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#0 [phi:bitmap_line::@9->bitmap_line_xdyd#2] -- register_copy
|
|
//SEG106 [124] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#0 [phi:bitmap_line::@9->bitmap_line_xdyd#3] -- register_copy
|
|
//SEG107 [124] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#4] -- register_copy
|
|
jsr bitmap_line_xdyd
|
|
jmp breturn
|
|
//SEG108 bitmap_line::@1
|
|
b1:
|
|
//SEG109 [57] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 -- vbuz1=vbuz2_minus_vbuz3
|
|
lda x1
|
|
sec
|
|
sbc x0
|
|
sta xd
|
|
//SEG110 [58] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@11 -- vbuz1_lt_vbuz2_then_la1
|
|
lda y0
|
|
cmp y1
|
|
bcc b11
|
|
jmp b5
|
|
//SEG111 bitmap_line::@5
|
|
b5:
|
|
//SEG112 [59] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuz3
|
|
lda y0
|
|
sec
|
|
sbc y1
|
|
sta yd_10
|
|
//SEG113 [60] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#1) goto bitmap_line::@12 -- vbuz1_lt_vbuz2_then_la1
|
|
lda yd_10
|
|
cmp xd
|
|
bcc b12
|
|
jmp b6
|
|
//SEG114 bitmap_line::@6
|
|
b6:
|
|
//SEG115 [61] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2
|
|
lda y1
|
|
sta bitmap_line_ydxd.y
|
|
//SEG116 [62] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2
|
|
lda x1
|
|
sta bitmap_line_ydxd.x
|
|
//SEG117 [63] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2
|
|
lda y0
|
|
sta bitmap_line_ydxd.y1
|
|
//SEG118 [64] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuz2
|
|
lda yd_10
|
|
sta bitmap_line_ydxd.yd
|
|
//SEG119 [65] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2
|
|
lda xd
|
|
sta bitmap_line_ydxd.xd
|
|
//SEG120 [66] call bitmap_line_ydxd
|
|
//SEG121 [139] phi from bitmap_line::@6 to bitmap_line_ydxd [phi:bitmap_line::@6->bitmap_line_ydxd]
|
|
bitmap_line_ydxd_from_b6:
|
|
//SEG122 [139] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#1 [phi:bitmap_line::@6->bitmap_line_ydxd#0] -- register_copy
|
|
//SEG123 [139] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#1] -- register_copy
|
|
//SEG124 [139] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#1 [phi:bitmap_line::@6->bitmap_line_ydxd#2] -- register_copy
|
|
//SEG125 [139] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#1 [phi:bitmap_line::@6->bitmap_line_ydxd#3] -- register_copy
|
|
//SEG126 [139] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#4] -- register_copy
|
|
jsr bitmap_line_ydxd
|
|
jmp breturn
|
|
//SEG127 bitmap_line::@12
|
|
b12:
|
|
//SEG128 [67] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2
|
|
lda x0
|
|
sta bitmap_line_xdyd.x
|
|
//SEG129 [68] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2
|
|
lda y0
|
|
sta bitmap_line_xdyd.y
|
|
//SEG130 [69] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2
|
|
lda x1
|
|
sta bitmap_line_xdyd.x1
|
|
//SEG131 [70] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2
|
|
lda xd
|
|
sta bitmap_line_xdyd.xd
|
|
//SEG132 [71] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuz2
|
|
lda yd_10
|
|
sta bitmap_line_xdyd.yd
|
|
//SEG133 [72] call bitmap_line_xdyd
|
|
//SEG134 [124] phi from bitmap_line::@12 to bitmap_line_xdyd [phi:bitmap_line::@12->bitmap_line_xdyd]
|
|
bitmap_line_xdyd_from_b12:
|
|
//SEG135 [124] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#1 [phi:bitmap_line::@12->bitmap_line_xdyd#0] -- register_copy
|
|
//SEG136 [124] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#1] -- register_copy
|
|
//SEG137 [124] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#1 [phi:bitmap_line::@12->bitmap_line_xdyd#2] -- register_copy
|
|
//SEG138 [124] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#1 [phi:bitmap_line::@12->bitmap_line_xdyd#3] -- register_copy
|
|
//SEG139 [124] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#4] -- register_copy
|
|
jsr bitmap_line_xdyd
|
|
jmp breturn
|
|
//SEG140 bitmap_line::@11
|
|
b11:
|
|
//SEG141 [73] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuz2_minus_vbuz3
|
|
lda y1
|
|
sec
|
|
sbc y0
|
|
sta yd_11
|
|
//SEG142 [74] if((byte) bitmap_line::yd#11<(byte) bitmap_line::xd#1) goto bitmap_line::@13 -- vbuz1_lt_vbuz2_then_la1
|
|
lda yd_11
|
|
cmp xd
|
|
bcc b13
|
|
jmp b14
|
|
//SEG143 bitmap_line::@14
|
|
b14:
|
|
//SEG144 [75] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2
|
|
lda y0
|
|
sta bitmap_line_ydxi.y
|
|
//SEG145 [76] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2
|
|
lda x0
|
|
sta bitmap_line_ydxi.x
|
|
//SEG146 [77] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2
|
|
lda y1
|
|
sta bitmap_line_ydxi.y1
|
|
//SEG147 [78] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#11 -- vbuz1=vbuz2
|
|
lda yd_11
|
|
sta bitmap_line_ydxi.yd
|
|
//SEG148 [79] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2
|
|
lda xd
|
|
sta bitmap_line_ydxi.xd
|
|
//SEG149 [80] call bitmap_line_ydxi
|
|
//SEG150 [109] phi from bitmap_line::@14 to bitmap_line_ydxi [phi:bitmap_line::@14->bitmap_line_ydxi]
|
|
bitmap_line_ydxi_from_b14:
|
|
//SEG151 [109] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#1 [phi:bitmap_line::@14->bitmap_line_ydxi#0] -- register_copy
|
|
//SEG152 [109] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#1] -- register_copy
|
|
//SEG153 [109] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#1 [phi:bitmap_line::@14->bitmap_line_ydxi#2] -- register_copy
|
|
//SEG154 [109] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#1 [phi:bitmap_line::@14->bitmap_line_ydxi#3] -- register_copy
|
|
//SEG155 [109] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#4] -- register_copy
|
|
jsr bitmap_line_ydxi
|
|
jmp breturn
|
|
//SEG156 bitmap_line::@13
|
|
b13:
|
|
//SEG157 [81] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2
|
|
lda x0
|
|
sta bitmap_line_xdyi.x
|
|
//SEG158 [82] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2
|
|
lda y0
|
|
sta bitmap_line_xdyi.y
|
|
//SEG159 [83] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2
|
|
lda x1
|
|
sta bitmap_line_xdyi.x1
|
|
//SEG160 [84] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2
|
|
lda xd
|
|
sta bitmap_line_xdyi.xd
|
|
//SEG161 [85] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11 -- vbuz1=vbuz2
|
|
lda yd_11
|
|
sta bitmap_line_xdyi.yd
|
|
//SEG162 [86] call bitmap_line_xdyi
|
|
//SEG163 [87] phi from bitmap_line::@13 to bitmap_line_xdyi [phi:bitmap_line::@13->bitmap_line_xdyi]
|
|
bitmap_line_xdyi_from_b13:
|
|
//SEG164 [87] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#1 [phi:bitmap_line::@13->bitmap_line_xdyi#0] -- register_copy
|
|
//SEG165 [87] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#1] -- register_copy
|
|
//SEG166 [87] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#1 [phi:bitmap_line::@13->bitmap_line_xdyi#2] -- register_copy
|
|
//SEG167 [87] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#1 [phi:bitmap_line::@13->bitmap_line_xdyi#3] -- register_copy
|
|
//SEG168 [87] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#4] -- register_copy
|
|
jsr bitmap_line_xdyi
|
|
jmp breturn
|
|
}
|
|
//SEG169 bitmap_line_xdyi
|
|
// bitmap_line_xdyi(byte zeropage(6) x, byte zeropage(7) y, byte zeropage(5) x1, byte zeropage(4) xd, byte zeropage(3) yd)
|
|
bitmap_line_xdyi: {
|
|
.label _6 = $32
|
|
.label x = 6
|
|
.label y = 7
|
|
.label x1 = 5
|
|
.label xd = 4
|
|
.label yd = 3
|
|
.label e = 8
|
|
//SEG170 [88] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1
|
|
lda yd
|
|
lsr
|
|
sta e
|
|
//SEG171 [89] phi from bitmap_line_xdyi bitmap_line_xdyi::@2 to bitmap_line_xdyi::@1 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1]
|
|
b1_from_bitmap_line_xdyi:
|
|
b1_from_b2:
|
|
//SEG172 [89] phi (byte) bitmap_line_xdyi::e#3 = (byte) bitmap_line_xdyi::e#0 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#0] -- register_copy
|
|
//SEG173 [89] phi (byte) bitmap_line_xdyi::y#3 = (byte) bitmap_line_xdyi::y#5 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#1] -- register_copy
|
|
//SEG174 [89] phi (byte) bitmap_line_xdyi::x#3 = (byte) bitmap_line_xdyi::x#6 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#2] -- register_copy
|
|
jmp b1
|
|
//SEG175 bitmap_line_xdyi::@1
|
|
b1:
|
|
//SEG176 [90] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 -- vbuz1=vbuz2
|
|
lda x
|
|
sta bitmap_plot.x
|
|
//SEG177 [91] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 -- vbuz1=vbuz2
|
|
lda y
|
|
sta bitmap_plot.y
|
|
//SEG178 [92] call bitmap_plot
|
|
//SEG179 [102] phi from bitmap_line_xdyi::@1 to bitmap_plot [phi:bitmap_line_xdyi::@1->bitmap_plot]
|
|
bitmap_plot_from_b1:
|
|
//SEG180 [102] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#0] -- register_copy
|
|
//SEG181 [102] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#1] -- register_copy
|
|
jsr bitmap_plot
|
|
jmp b4
|
|
//SEG182 bitmap_line_xdyi::@4
|
|
b4:
|
|
//SEG183 [93] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 -- vbuz1=_inc_vbuz1
|
|
inc x
|
|
//SEG184 [94] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 -- vbuz1=vbuz1_plus_vbuz2
|
|
lda e
|
|
clc
|
|
adc yd
|
|
sta e
|
|
//SEG185 [95] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 -- vbuz1_ge_vbuz2_then_la1
|
|
lda xd
|
|
cmp e
|
|
bcs b2_from_b4
|
|
jmp b3
|
|
//SEG186 bitmap_line_xdyi::@3
|
|
b3:
|
|
//SEG187 [96] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 -- vbuz1=_inc_vbuz1
|
|
inc y
|
|
//SEG188 [97] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 -- vbuz1=vbuz1_minus_vbuz2
|
|
lda e
|
|
sec
|
|
sbc xd
|
|
sta e
|
|
//SEG189 [98] phi from bitmap_line_xdyi::@3 bitmap_line_xdyi::@4 to bitmap_line_xdyi::@2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2]
|
|
b2_from_b3:
|
|
b2_from_b4:
|
|
//SEG190 [98] phi (byte) bitmap_line_xdyi::e#6 = (byte) bitmap_line_xdyi::e#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#0] -- register_copy
|
|
//SEG191 [98] phi (byte) bitmap_line_xdyi::y#6 = (byte) bitmap_line_xdyi::y#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#1] -- register_copy
|
|
jmp b2
|
|
//SEG192 bitmap_line_xdyi::@2
|
|
b2:
|
|
//SEG193 [99] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_plus_1
|
|
ldy x1
|
|
iny
|
|
sty _6
|
|
//SEG194 [100] if((byte) bitmap_line_xdyi::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 -- vbuz1_neq_vbuz2_then_la1
|
|
lda x
|
|
cmp _6
|
|
bne b1_from_b2
|
|
jmp breturn
|
|
//SEG195 bitmap_line_xdyi::@return
|
|
breturn:
|
|
//SEG196 [101] return
|
|
rts
|
|
}
|
|
//SEG197 bitmap_plot
|
|
// bitmap_plot(byte zeropage(9) x, byte zeropage($a) y)
|
|
bitmap_plot: {
|
|
.label _0 = $37
|
|
.label _1 = $39
|
|
.label plotter_x = $33
|
|
.label plotter_y = $35
|
|
.label x = 9
|
|
.label y = $a
|
|
//SEG198 [103] (word) bitmap_plot::plotter_x#0 ← *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_plot::x#4) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2
|
|
ldy x
|
|
lda bitmap_plot_xhi,y
|
|
sta plotter_x+1
|
|
lda bitmap_plot_xlo,y
|
|
sta plotter_x
|
|
//SEG199 [104] (word) bitmap_plot::plotter_y#0 ← *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2
|
|
ldy y
|
|
lda bitmap_plot_yhi,y
|
|
sta plotter_y+1
|
|
lda bitmap_plot_ylo,y
|
|
sta plotter_y
|
|
//SEG200 [105] (word~) bitmap_plot::$0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 -- vwuz1=vwuz2_plus_vwuz3
|
|
lda plotter_x
|
|
clc
|
|
adc plotter_y
|
|
sta _0
|
|
lda plotter_x+1
|
|
adc plotter_y+1
|
|
sta _0+1
|
|
//SEG201 [106] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_plot::x#4) -- vbuz1=_deref_pbuz2_bor_pbuc1_derefidx_vbuz3
|
|
ldy #0
|
|
lda (_0),y
|
|
ldy x
|
|
ora bitmap_plot_bit,y
|
|
sta _1
|
|
//SEG202 [107] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 -- _deref_pbuz1=vbuz2
|
|
lda _1
|
|
ldy #0
|
|
sta (_0),y
|
|
jmp breturn
|
|
//SEG203 bitmap_plot::@return
|
|
breturn:
|
|
//SEG204 [108] return
|
|
rts
|
|
}
|
|
//SEG205 bitmap_line_ydxi
|
|
// bitmap_line_ydxi(byte zeropage($f) y, byte zeropage($e) x, byte zeropage($d) y1, byte zeropage($c) yd, byte zeropage($b) xd)
|
|
bitmap_line_ydxi: {
|
|
.label _6 = $3a
|
|
.label y = $f
|
|
.label x = $e
|
|
.label y1 = $d
|
|
.label yd = $c
|
|
.label xd = $b
|
|
.label e = $10
|
|
//SEG206 [110] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1
|
|
lda xd
|
|
lsr
|
|
sta e
|
|
//SEG207 [111] phi from bitmap_line_ydxi bitmap_line_ydxi::@2 to bitmap_line_ydxi::@1 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1]
|
|
b1_from_bitmap_line_ydxi:
|
|
b1_from_b2:
|
|
//SEG208 [111] phi (byte) bitmap_line_ydxi::e#3 = (byte) bitmap_line_ydxi::e#0 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#0] -- register_copy
|
|
//SEG209 [111] phi (byte) bitmap_line_ydxi::y#3 = (byte) bitmap_line_ydxi::y#6 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#1] -- register_copy
|
|
//SEG210 [111] phi (byte) bitmap_line_ydxi::x#3 = (byte) bitmap_line_ydxi::x#5 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#2] -- register_copy
|
|
jmp b1
|
|
//SEG211 bitmap_line_ydxi::@1
|
|
b1:
|
|
//SEG212 [112] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 -- vbuz1=vbuz2
|
|
lda x
|
|
sta bitmap_plot.x
|
|
//SEG213 [113] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 -- vbuz1=vbuz2
|
|
lda y
|
|
sta bitmap_plot.y
|
|
//SEG214 [114] call bitmap_plot
|
|
//SEG215 [102] phi from bitmap_line_ydxi::@1 to bitmap_plot [phi:bitmap_line_ydxi::@1->bitmap_plot]
|
|
bitmap_plot_from_b1:
|
|
//SEG216 [102] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#0] -- register_copy
|
|
//SEG217 [102] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#1] -- register_copy
|
|
jsr bitmap_plot
|
|
jmp b4
|
|
//SEG218 bitmap_line_ydxi::@4
|
|
b4:
|
|
//SEG219 [115] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 -- vbuz1=_inc_vbuz1
|
|
inc y
|
|
//SEG220 [116] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 -- vbuz1=vbuz1_plus_vbuz2
|
|
lda e
|
|
clc
|
|
adc xd
|
|
sta e
|
|
//SEG221 [117] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 -- vbuz1_ge_vbuz2_then_la1
|
|
lda yd
|
|
cmp e
|
|
bcs b2_from_b4
|
|
jmp b3
|
|
//SEG222 bitmap_line_ydxi::@3
|
|
b3:
|
|
//SEG223 [118] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 -- vbuz1=_inc_vbuz1
|
|
inc x
|
|
//SEG224 [119] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 -- vbuz1=vbuz1_minus_vbuz2
|
|
lda e
|
|
sec
|
|
sbc yd
|
|
sta e
|
|
//SEG225 [120] phi from bitmap_line_ydxi::@3 bitmap_line_ydxi::@4 to bitmap_line_ydxi::@2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2]
|
|
b2_from_b3:
|
|
b2_from_b4:
|
|
//SEG226 [120] phi (byte) bitmap_line_ydxi::e#6 = (byte) bitmap_line_ydxi::e#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#0] -- register_copy
|
|
//SEG227 [120] phi (byte) bitmap_line_ydxi::x#6 = (byte) bitmap_line_ydxi::x#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#1] -- register_copy
|
|
jmp b2
|
|
//SEG228 bitmap_line_ydxi::@2
|
|
b2:
|
|
//SEG229 [121] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_plus_1
|
|
ldy y1
|
|
iny
|
|
sty _6
|
|
//SEG230 [122] if((byte) bitmap_line_ydxi::y#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1 -- vbuz1_neq_vbuz2_then_la1
|
|
lda y
|
|
cmp _6
|
|
bne b1_from_b2
|
|
jmp breturn
|
|
//SEG231 bitmap_line_ydxi::@return
|
|
breturn:
|
|
//SEG232 [123] return
|
|
rts
|
|
}
|
|
//SEG233 bitmap_line_xdyd
|
|
// bitmap_line_xdyd(byte zeropage($14) x, byte zeropage($15) y, byte zeropage($13) x1, byte zeropage($12) xd, byte zeropage($11) yd)
|
|
bitmap_line_xdyd: {
|
|
.label _6 = $3b
|
|
.label x = $14
|
|
.label y = $15
|
|
.label x1 = $13
|
|
.label xd = $12
|
|
.label yd = $11
|
|
.label e = $16
|
|
//SEG234 [125] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1
|
|
lda yd
|
|
lsr
|
|
sta e
|
|
//SEG235 [126] phi from bitmap_line_xdyd bitmap_line_xdyd::@2 to bitmap_line_xdyd::@1 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1]
|
|
b1_from_bitmap_line_xdyd:
|
|
b1_from_b2:
|
|
//SEG236 [126] phi (byte) bitmap_line_xdyd::e#3 = (byte) bitmap_line_xdyd::e#0 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#0] -- register_copy
|
|
//SEG237 [126] phi (byte) bitmap_line_xdyd::y#3 = (byte) bitmap_line_xdyd::y#5 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#1] -- register_copy
|
|
//SEG238 [126] phi (byte) bitmap_line_xdyd::x#3 = (byte) bitmap_line_xdyd::x#6 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#2] -- register_copy
|
|
jmp b1
|
|
//SEG239 bitmap_line_xdyd::@1
|
|
b1:
|
|
//SEG240 [127] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 -- vbuz1=vbuz2
|
|
lda x
|
|
sta bitmap_plot.x
|
|
//SEG241 [128] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 -- vbuz1=vbuz2
|
|
lda y
|
|
sta bitmap_plot.y
|
|
//SEG242 [129] call bitmap_plot
|
|
//SEG243 [102] phi from bitmap_line_xdyd::@1 to bitmap_plot [phi:bitmap_line_xdyd::@1->bitmap_plot]
|
|
bitmap_plot_from_b1:
|
|
//SEG244 [102] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#0] -- register_copy
|
|
//SEG245 [102] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#1] -- register_copy
|
|
jsr bitmap_plot
|
|
jmp b4
|
|
//SEG246 bitmap_line_xdyd::@4
|
|
b4:
|
|
//SEG247 [130] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 -- vbuz1=_inc_vbuz1
|
|
inc x
|
|
//SEG248 [131] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 -- vbuz1=vbuz1_plus_vbuz2
|
|
lda e
|
|
clc
|
|
adc yd
|
|
sta e
|
|
//SEG249 [132] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 -- vbuz1_ge_vbuz2_then_la1
|
|
lda xd
|
|
cmp e
|
|
bcs b2_from_b4
|
|
jmp b3
|
|
//SEG250 bitmap_line_xdyd::@3
|
|
b3:
|
|
//SEG251 [133] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 -- vbuz1=_dec_vbuz1
|
|
dec y
|
|
//SEG252 [134] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 -- vbuz1=vbuz1_minus_vbuz2
|
|
lda e
|
|
sec
|
|
sbc xd
|
|
sta e
|
|
//SEG253 [135] phi from bitmap_line_xdyd::@3 bitmap_line_xdyd::@4 to bitmap_line_xdyd::@2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2]
|
|
b2_from_b3:
|
|
b2_from_b4:
|
|
//SEG254 [135] phi (byte) bitmap_line_xdyd::e#6 = (byte) bitmap_line_xdyd::e#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#0] -- register_copy
|
|
//SEG255 [135] phi (byte) bitmap_line_xdyd::y#6 = (byte) bitmap_line_xdyd::y#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#1] -- register_copy
|
|
jmp b2
|
|
//SEG256 bitmap_line_xdyd::@2
|
|
b2:
|
|
//SEG257 [136] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_plus_1
|
|
ldy x1
|
|
iny
|
|
sty _6
|
|
//SEG258 [137] if((byte) bitmap_line_xdyd::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1 -- vbuz1_neq_vbuz2_then_la1
|
|
lda x
|
|
cmp _6
|
|
bne b1_from_b2
|
|
jmp breturn
|
|
//SEG259 bitmap_line_xdyd::@return
|
|
breturn:
|
|
//SEG260 [138] return
|
|
rts
|
|
}
|
|
//SEG261 bitmap_line_ydxd
|
|
// bitmap_line_ydxd(byte zeropage($1b) y, byte zeropage($1a) x, byte zeropage($19) y1, byte zeropage($18) yd, byte zeropage($17) xd)
|
|
bitmap_line_ydxd: {
|
|
.label _6 = $3c
|
|
.label y = $1b
|
|
.label x = $1a
|
|
.label y1 = $19
|
|
.label yd = $18
|
|
.label xd = $17
|
|
.label e = $1c
|
|
//SEG262 [140] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1
|
|
lda xd
|
|
lsr
|
|
sta e
|
|
//SEG263 [141] phi from bitmap_line_ydxd bitmap_line_ydxd::@2 to bitmap_line_ydxd::@1 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1]
|
|
b1_from_bitmap_line_ydxd:
|
|
b1_from_b2:
|
|
//SEG264 [141] phi (byte) bitmap_line_ydxd::e#3 = (byte) bitmap_line_ydxd::e#0 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#0] -- register_copy
|
|
//SEG265 [141] phi (byte) bitmap_line_ydxd::y#2 = (byte) bitmap_line_ydxd::y#7 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#1] -- register_copy
|
|
//SEG266 [141] phi (byte) bitmap_line_ydxd::x#3 = (byte) bitmap_line_ydxd::x#5 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#2] -- register_copy
|
|
jmp b1
|
|
//SEG267 bitmap_line_ydxd::@1
|
|
b1:
|
|
//SEG268 [142] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 -- vbuz1=vbuz2
|
|
lda x
|
|
sta bitmap_plot.x
|
|
//SEG269 [143] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 -- vbuz1=vbuz2
|
|
lda y
|
|
sta bitmap_plot.y
|
|
//SEG270 [144] call bitmap_plot
|
|
//SEG271 [102] phi from bitmap_line_ydxd::@1 to bitmap_plot [phi:bitmap_line_ydxd::@1->bitmap_plot]
|
|
bitmap_plot_from_b1:
|
|
//SEG272 [102] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#0] -- register_copy
|
|
//SEG273 [102] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#1] -- register_copy
|
|
jsr bitmap_plot
|
|
jmp b4
|
|
//SEG274 bitmap_line_ydxd::@4
|
|
b4:
|
|
//SEG275 [145] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 -- vbuz1=_inc_vbuz1
|
|
inc y
|
|
//SEG276 [146] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 -- vbuz1=vbuz1_plus_vbuz2
|
|
lda e
|
|
clc
|
|
adc xd
|
|
sta e
|
|
//SEG277 [147] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 -- vbuz1_ge_vbuz2_then_la1
|
|
lda yd
|
|
cmp e
|
|
bcs b2_from_b4
|
|
jmp b3
|
|
//SEG278 bitmap_line_ydxd::@3
|
|
b3:
|
|
//SEG279 [148] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 -- vbuz1=_dec_vbuz1
|
|
dec x
|
|
//SEG280 [149] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 -- vbuz1=vbuz1_minus_vbuz2
|
|
lda e
|
|
sec
|
|
sbc yd
|
|
sta e
|
|
//SEG281 [150] phi from bitmap_line_ydxd::@3 bitmap_line_ydxd::@4 to bitmap_line_ydxd::@2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2]
|
|
b2_from_b3:
|
|
b2_from_b4:
|
|
//SEG282 [150] phi (byte) bitmap_line_ydxd::e#6 = (byte) bitmap_line_ydxd::e#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#0] -- register_copy
|
|
//SEG283 [150] phi (byte) bitmap_line_ydxd::x#6 = (byte) bitmap_line_ydxd::x#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#1] -- register_copy
|
|
jmp b2
|
|
//SEG284 bitmap_line_ydxd::@2
|
|
b2:
|
|
//SEG285 [151] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_plus_1
|
|
ldy y1
|
|
iny
|
|
sty _6
|
|
//SEG286 [152] if((byte) bitmap_line_ydxd::y#3!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1 -- vbuz1_neq_vbuz2_then_la1
|
|
lda y
|
|
cmp _6
|
|
bne b1_from_b2
|
|
jmp breturn
|
|
//SEG287 bitmap_line_ydxd::@return
|
|
breturn:
|
|
//SEG288 [153] return
|
|
rts
|
|
}
|
|
//SEG289 init_screen
|
|
init_screen: {
|
|
.label c = $1d
|
|
//SEG290 [155] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1]
|
|
b1_from_init_screen:
|
|
//SEG291 [155] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen->init_screen::@1#0] -- pbuz1=pbuc1
|
|
lda #<SCREEN
|
|
sta c
|
|
lda #>SCREEN
|
|
sta c+1
|
|
jmp b1
|
|
//SEG292 [155] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1]
|
|
b1_from_b1:
|
|
//SEG293 [155] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy
|
|
jmp b1
|
|
//SEG294 init_screen::@1
|
|
b1:
|
|
//SEG295 [156] *((byte*) init_screen::c#2) ← (byte/signed byte/word/signed word/dword/signed dword) $14 -- _deref_pbuz1=vbuc1
|
|
lda #$14
|
|
ldy #0
|
|
sta (c),y
|
|
//SEG296 [157] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 -- pbuz1=_inc_pbuz1
|
|
inc c
|
|
bne !+
|
|
inc c+1
|
|
!:
|
|
//SEG297 [158] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word/signed word/dword/signed dword) $400) goto init_screen::@1 -- pbuz1_neq_pbuc1_then_la1
|
|
lda c+1
|
|
cmp #>SCREEN+$400
|
|
bne b1_from_b1
|
|
lda c
|
|
cmp #<SCREEN+$400
|
|
bne b1_from_b1
|
|
jmp breturn
|
|
//SEG298 init_screen::@return
|
|
breturn:
|
|
//SEG299 [159] return
|
|
rts
|
|
}
|
|
//SEG300 bitmap_clear
|
|
// Clear all graphics on the bitmap
|
|
bitmap_clear: {
|
|
.label bitmap = $20
|
|
.label x = $22
|
|
.label y = $1f
|
|
.label _3 = $3d
|
|
//SEG301 [160] (word~) bitmap_clear::$3 ← *((const byte[$100]) bitmap_plot_xhi#0) w= *((const byte[$100]) bitmap_plot_xlo#0) -- vwuz1=_deref_pbuc1_word__deref_pbuc2
|
|
lda bitmap_plot_xlo
|
|
sta _3
|
|
lda bitmap_plot_xhi
|
|
sta _3+1
|
|
//SEG302 [161] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3 -- pbuz1=pbuz2
|
|
lda _3
|
|
sta bitmap
|
|
lda _3+1
|
|
sta bitmap+1
|
|
//SEG303 [162] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1]
|
|
b1_from_bitmap_clear:
|
|
//SEG304 [162] phi (byte) bitmap_clear::y#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_clear->bitmap_clear::@1#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta y
|
|
//SEG305 [162] phi (byte*) bitmap_clear::bitmap#3 = (byte*~) bitmap_clear::bitmap#5 [phi:bitmap_clear->bitmap_clear::@1#1] -- register_copy
|
|
jmp b1
|
|
//SEG306 [162] phi from bitmap_clear::@3 to bitmap_clear::@1 [phi:bitmap_clear::@3->bitmap_clear::@1]
|
|
b1_from_b3:
|
|
//SEG307 [162] phi (byte) bitmap_clear::y#4 = (byte) bitmap_clear::y#1 [phi:bitmap_clear::@3->bitmap_clear::@1#0] -- register_copy
|
|
//SEG308 [162] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@3->bitmap_clear::@1#1] -- register_copy
|
|
jmp b1
|
|
//SEG309 bitmap_clear::@1
|
|
b1:
|
|
//SEG310 [163] phi from bitmap_clear::@1 to bitmap_clear::@2 [phi:bitmap_clear::@1->bitmap_clear::@2]
|
|
b2_from_b1:
|
|
//SEG311 [163] phi (byte) bitmap_clear::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_clear::@1->bitmap_clear::@2#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta x
|
|
//SEG312 [163] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#3 [phi:bitmap_clear::@1->bitmap_clear::@2#1] -- register_copy
|
|
jmp b2
|
|
//SEG313 [163] phi from bitmap_clear::@2 to bitmap_clear::@2 [phi:bitmap_clear::@2->bitmap_clear::@2]
|
|
b2_from_b2:
|
|
//SEG314 [163] phi (byte) bitmap_clear::x#2 = (byte) bitmap_clear::x#1 [phi:bitmap_clear::@2->bitmap_clear::@2#0] -- register_copy
|
|
//SEG315 [163] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@2->bitmap_clear::@2#1] -- register_copy
|
|
jmp b2
|
|
//SEG316 bitmap_clear::@2
|
|
b2:
|
|
//SEG317 [164] *((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1
|
|
lda #0
|
|
ldy #0
|
|
sta (bitmap),y
|
|
//SEG318 [165] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 -- pbuz1=_inc_pbuz1
|
|
inc bitmap
|
|
bne !+
|
|
inc bitmap+1
|
|
!:
|
|
//SEG319 [166] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 -- vbuz1=_inc_vbuz1
|
|
inc x
|
|
//SEG320 [167] if((byte) bitmap_clear::x#1!=(byte/word/signed word/dword/signed dword) $c8) goto bitmap_clear::@2 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #$c8
|
|
cmp x
|
|
bne b2_from_b2
|
|
jmp b3
|
|
//SEG321 bitmap_clear::@3
|
|
b3:
|
|
//SEG322 [168] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 -- vbuz1=_inc_vbuz1
|
|
inc y
|
|
//SEG323 [169] if((byte) bitmap_clear::y#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto bitmap_clear::@1 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #$28
|
|
cmp y
|
|
bne b1_from_b3
|
|
jmp breturn
|
|
//SEG324 bitmap_clear::@return
|
|
breturn:
|
|
//SEG325 [170] return
|
|
rts
|
|
}
|
|
//SEG326 bitmap_init
|
|
// Initialize the bitmap plotter tables for a specific bitmap
|
|
bitmap_init: {
|
|
.label _0 = $3f
|
|
.label _6 = $40
|
|
.label _7 = $41
|
|
.label _8 = $42
|
|
.label _9 = $43
|
|
.label _10 = $44
|
|
.label bits = $24
|
|
.label x = $23
|
|
.label y = $25
|
|
.label yoffs = $26
|
|
//SEG327 [172] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1]
|
|
b1_from_bitmap_init:
|
|
//SEG328 [172] phi (byte) bitmap_init::bits#3 = (byte/word/signed word/dword/signed dword) $80 [phi:bitmap_init->bitmap_init::@1#0] -- vbuz1=vbuc1
|
|
lda #$80
|
|
sta bits
|
|
//SEG329 [172] phi (byte) bitmap_init::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init->bitmap_init::@1#1] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta x
|
|
jmp b1
|
|
//SEG330 [172] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1]
|
|
b1_from_b2:
|
|
//SEG331 [172] phi (byte) bitmap_init::bits#3 = (byte) bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy
|
|
//SEG332 [172] phi (byte) bitmap_init::x#2 = (byte) bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy
|
|
jmp b1
|
|
//SEG333 bitmap_init::@1
|
|
b1:
|
|
//SEG334 [173] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte/word/signed word/dword/signed dword) $f8 -- vbuz1=vbuz2_band_vbuc1
|
|
lda #$f8
|
|
and x
|
|
sta _0
|
|
//SEG335 [174] *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 -- pbuc1_derefidx_vbuz1=vbuz2
|
|
lda _0
|
|
ldy x
|
|
sta bitmap_plot_xlo,y
|
|
//SEG336 [175] *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← >(const byte*) BITMAP#0 -- pbuc1_derefidx_vbuz1=vbuc2
|
|
lda #>BITMAP
|
|
ldy x
|
|
sta bitmap_plot_xhi,y
|
|
//SEG337 [176] *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 -- pbuc1_derefidx_vbuz1=vbuz2
|
|
lda bits
|
|
ldy x
|
|
sta bitmap_plot_bit,y
|
|
//SEG338 [177] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_ror_1
|
|
lsr bits
|
|
//SEG339 [178] if((byte) bitmap_init::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@6 -- vbuz1_neq_0_then_la1
|
|
lda bits
|
|
cmp #0
|
|
bne b6_from_b1
|
|
//SEG340 [179] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2]
|
|
b2_from_b1:
|
|
//SEG341 [179] phi (byte) bitmap_init::bits#4 = (byte/word/signed word/dword/signed dword) $80 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuz1=vbuc1
|
|
lda #$80
|
|
sta bits
|
|
jmp b2
|
|
//SEG342 bitmap_init::@2
|
|
b2:
|
|
//SEG343 [180] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 -- vbuz1=_inc_vbuz1
|
|
inc x
|
|
//SEG344 [181] if((byte) bitmap_init::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@1 -- vbuz1_neq_0_then_la1
|
|
lda x
|
|
cmp #0
|
|
bne b1_from_b2
|
|
//SEG345 [182] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3]
|
|
b3_from_b2:
|
|
//SEG346 [182] phi (byte*) bitmap_init::yoffs#2 = ((byte*))(byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init::@2->bitmap_init::@3#0] -- pbuz1=pbuc1
|
|
lda #<0
|
|
sta yoffs
|
|
lda #>0
|
|
sta yoffs+1
|
|
//SEG347 [182] phi (byte) bitmap_init::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init::@2->bitmap_init::@3#1] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta y
|
|
jmp b3
|
|
//SEG348 [182] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3]
|
|
b3_from_b4:
|
|
//SEG349 [182] phi (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy
|
|
//SEG350 [182] phi (byte) bitmap_init::y#2 = (byte) bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy
|
|
jmp b3
|
|
//SEG351 bitmap_init::@3
|
|
b3:
|
|
//SEG352 [183] (byte~) bitmap_init::$6 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuz1=vbuz2_band_vbuc1
|
|
lda #7
|
|
and y
|
|
sta _6
|
|
//SEG353 [184] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 -- vbuz1=_lo_pbuz2
|
|
lda yoffs
|
|
sta _7
|
|
//SEG354 [185] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$6 | (byte~) bitmap_init::$7 -- vbuz1=vbuz2_bor_vbuz3
|
|
lda _6
|
|
ora _7
|
|
sta _8
|
|
//SEG355 [186] *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 -- pbuc1_derefidx_vbuz1=vbuz2
|
|
lda _8
|
|
ldy y
|
|
sta bitmap_plot_ylo,y
|
|
//SEG356 [187] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 -- vbuz1=_hi_pbuz2
|
|
lda yoffs+1
|
|
sta _9
|
|
//SEG357 [188] *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 -- pbuc1_derefidx_vbuz1=vbuz2
|
|
lda _9
|
|
ldy y
|
|
sta bitmap_plot_yhi,y
|
|
//SEG358 [189] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuz1=vbuz2_band_vbuc1
|
|
lda #7
|
|
and y
|
|
sta _10
|
|
//SEG359 [190] if((byte~) bitmap_init::$10!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto bitmap_init::@4 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #7
|
|
cmp _10
|
|
bne b4_from_b3
|
|
jmp b5
|
|
//SEG360 bitmap_init::@5
|
|
b5:
|
|
//SEG361 [191] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz1_plus_vwuc1
|
|
clc
|
|
lda yoffs
|
|
adc #<$28*8
|
|
sta yoffs
|
|
lda yoffs+1
|
|
adc #>$28*8
|
|
sta yoffs+1
|
|
//SEG362 [192] phi from bitmap_init::@3 bitmap_init::@5 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4]
|
|
b4_from_b3:
|
|
b4_from_b5:
|
|
//SEG363 [192] phi (byte*) bitmap_init::yoffs#4 = (byte*) bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4#0] -- register_copy
|
|
jmp b4
|
|
//SEG364 bitmap_init::@4
|
|
b4:
|
|
//SEG365 [193] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 -- vbuz1=_inc_vbuz1
|
|
inc y
|
|
//SEG366 [194] if((byte) bitmap_init::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@3 -- vbuz1_neq_0_then_la1
|
|
lda y
|
|
cmp #0
|
|
bne b3_from_b4
|
|
jmp breturn
|
|
//SEG367 bitmap_init::@return
|
|
breturn:
|
|
//SEG368 [195] return
|
|
rts
|
|
//SEG369 [196] phi from bitmap_init::@1 to bitmap_init::@6 [phi:bitmap_init::@1->bitmap_init::@6]
|
|
b6_from_b1:
|
|
jmp b6
|
|
//SEG370 bitmap_init::@6
|
|
b6:
|
|
//SEG371 [179] phi from bitmap_init::@6 to bitmap_init::@2 [phi:bitmap_init::@6->bitmap_init::@2]
|
|
b2_from_b6:
|
|
//SEG372 [179] phi (byte) bitmap_init::bits#4 = (byte) bitmap_init::bits#1 [phi:bitmap_init::@6->bitmap_init::@2#0] -- register_copy
|
|
jmp b2
|
|
}
|
|
// Tables for the plotter - initialized by calling bitmap_draw_init();
|
|
bitmap_plot_xlo: .fill $100, 0
|
|
bitmap_plot_xhi: .fill $100, 0
|
|
bitmap_plot_ylo: .fill $100, 0
|
|
bitmap_plot_yhi: .fill $100, 0
|
|
bitmap_plot_bit: .fill $100, 0
|
|
lines_x: .byte $3c, $50, $6e, $50, $3c, $28, $a, $28, $3c
|
|
lines_y: .byte $a, $28, $3c, $50, $6e, $50, $3c, $28, $a
|
|
|
|
REGISTER UPLIFT POTENTIAL REGISTERS
|
|
Equivalence Class zp ZP_BYTE:65 [ bitmap_init::$7 ] has ALU potential.
|
|
Statement [4] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
|
Statement [5] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
|
Statement [6] *((const byte*) D011#0) ← (const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
|
Statement [7] *((const byte*) VIC_MEMORY#0) ← ((byte))((word))(const byte*) SCREEN#0&(word/signed word/dword/signed dword) $3fff/(byte/signed byte/word/signed word/dword/signed dword) $40|((word))(const byte*) BITMAP#0&(word/signed word/dword/signed dword) $3fff/(word/signed word/dword/signed dword) $400 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
|
Statement [26] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 ] ( main:2::lines:14::bitmap_line:21 [ lines::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 ] ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:40 [ bitmap_line::x0#0 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:41 [ bitmap_line::x1#0 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:42 [ bitmap_line::y0#0 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:43 [ bitmap_line::y1#0 ]
|
|
Statement [28] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#2 ] ( main:2::lines:14::bitmap_line:21 [ lines::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#2 ] ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:44 [ bitmap_line::xd#2 ]
|
|
Statement [43] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#1 ] ( main:2::lines:14::bitmap_line:21 [ lines::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#1 ] ) always clobbers reg byte a
|
|
Statement [57] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 ] ( main:2::lines:14::bitmap_line:21 [ lines::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 ] ) always clobbers reg byte a
|
|
Statement [59] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#10 ] ( main:2::lines:14::bitmap_line:21 [ lines::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#10 ] ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:47 [ bitmap_line::xd#1 ]
|
|
Statement [73] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#11 ] ( main:2::lines:14::bitmap_line:21 [ lines::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#11 ] ) always clobbers reg byte a
|
|
Statement [88] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:42 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:86 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:3 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:6 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:7 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:4 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:5 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ]
|
|
Statement [94] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:42 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:86 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] ) always clobbers reg byte a
|
|
Statement [97] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:42 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:86 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] ) always clobbers reg byte a
|
|
Statement [103] (word) bitmap_plot::plotter_x#0 ← *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_plot::x#4) [ bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:42::bitmap_plot:92 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:86::bitmap_plot:92 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:35::bitmap_plot:114 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:80::bitmap_plot:114 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:56::bitmap_plot:129 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:72::bitmap_plot:129 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:50::bitmap_plot:144 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:66::bitmap_plot:144 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:8 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:9 [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:10 [ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:11 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:12 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:13 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:14 [ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#5 bitmap_line_ydxi::x#1 bitmap_line_ydxi::x#0 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:15 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:16 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:17 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:18 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:19 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:20 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#2 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:21 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:22 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:23 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:24 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:25 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:26 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:27 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:28 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ]
|
|
Statement [104] (word) bitmap_plot::plotter_y#0 ← *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#4) [ bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:42::bitmap_plot:92 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:86::bitmap_plot:92 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:35::bitmap_plot:114 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:80::bitmap_plot:114 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:56::bitmap_plot:129 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:72::bitmap_plot:129 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:50::bitmap_plot:144 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:66::bitmap_plot:144 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] ) always clobbers reg byte a
|
|
Statement [105] (word~) bitmap_plot::$0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 [ bitmap_plot::x#4 bitmap_plot::$0 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:42::bitmap_plot:92 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:86::bitmap_plot:92 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:35::bitmap_plot:114 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:80::bitmap_plot:114 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:56::bitmap_plot:129 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:72::bitmap_plot:129 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:50::bitmap_plot:144 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:66::bitmap_plot:144 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] ) always clobbers reg byte a
|
|
Statement [106] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_plot::x#4) [ bitmap_plot::$0 bitmap_plot::$1 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:42::bitmap_plot:92 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:86::bitmap_plot:92 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:35::bitmap_plot:114 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:80::bitmap_plot:114 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:56::bitmap_plot:129 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:72::bitmap_plot:129 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:50::bitmap_plot:144 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:66::bitmap_plot:144 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] ) always clobbers reg byte a reg byte y
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:3 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:4 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:5 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:6 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:7 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:8 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:11 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:12 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:13 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:14 [ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#5 bitmap_line_ydxi::x#1 bitmap_line_ydxi::x#0 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:15 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:16 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:17 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:18 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:19 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:20 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#2 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:21 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:22 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:23 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:24 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:25 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:26 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:27 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:28 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ]
|
|
Statement [107] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 [ ] ( main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:42::bitmap_plot:92 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:86::bitmap_plot:92 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:35::bitmap_plot:114 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:80::bitmap_plot:114 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:56::bitmap_plot:129 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:72::bitmap_plot:129 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:50::bitmap_plot:144 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:66::bitmap_plot:144 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 ] ) always clobbers reg byte y
|
|
Statement [110] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:35 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:80 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] ) always clobbers reg byte a
|
|
Statement [116] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:35 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:80 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] ) always clobbers reg byte a
|
|
Statement [119] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:35 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:80 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] ) always clobbers reg byte a
|
|
Statement [125] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:56 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:72 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] ) always clobbers reg byte a
|
|
Statement [131] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:56 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:72 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] ) always clobbers reg byte a
|
|
Statement [134] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:56 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:72 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] ) always clobbers reg byte a
|
|
Statement [140] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:50 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:66 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] ) always clobbers reg byte a
|
|
Statement [146] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:50 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:66 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] ) always clobbers reg byte a
|
|
Statement [149] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:50 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:66 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] ) always clobbers reg byte a
|
|
Statement [156] *((byte*) init_screen::c#2) ← (byte/signed byte/word/signed word/dword/signed dword) $14 [ init_screen::c#2 ] ( main:2::init_screen:12 [ init_screen::c#2 ] ) always clobbers reg byte a reg byte y
|
|
Statement [158] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word/signed word/dword/signed dword) $400) goto init_screen::@1 [ init_screen::c#1 ] ( main:2::init_screen:12 [ init_screen::c#1 ] ) always clobbers reg byte a
|
|
Statement [160] (word~) bitmap_clear::$3 ← *((const byte[$100]) bitmap_plot_xhi#0) w= *((const byte[$100]) bitmap_plot_xlo#0) [ bitmap_clear::$3 ] ( main:2::bitmap_clear:10 [ bitmap_clear::$3 ] ) always clobbers reg byte a
|
|
Statement [161] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3 [ bitmap_clear::bitmap#5 ] ( main:2::bitmap_clear:10 [ bitmap_clear::bitmap#5 ] ) always clobbers reg byte a
|
|
Statement [164] *((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] ( main:2::bitmap_clear:10 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] ) always clobbers reg byte a reg byte y
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:31 [ bitmap_clear::y#4 bitmap_clear::y#1 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:31 [ bitmap_clear::y#4 bitmap_clear::y#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:34 [ bitmap_clear::x#2 bitmap_clear::x#1 ]
|
|
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:34 [ bitmap_clear::x#2 bitmap_clear::x#1 ]
|
|
Statement [175] *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← >(const byte*) BITMAP#0 [ bitmap_init::x#2 bitmap_init::bits#3 ] ( main:2::bitmap_init:8 [ bitmap_init::x#2 bitmap_init::bits#3 ] ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:35 [ bitmap_init::x#2 bitmap_init::x#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:36 [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ]
|
|
Statement [176] *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 [ bitmap_init::x#2 bitmap_init::bits#3 ] ( main:2::bitmap_init:8 [ bitmap_init::x#2 bitmap_init::bits#3 ] ) always clobbers reg byte a
|
|
Statement [191] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ( main:2::bitmap_init:8 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:37 [ bitmap_init::y#2 bitmap_init::y#1 ]
|
|
Statement [4] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
|
Statement [5] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
|
Statement [6] *((const byte*) D011#0) ← (const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
|
Statement [7] *((const byte*) VIC_MEMORY#0) ← ((byte))((word))(const byte*) SCREEN#0&(word/signed word/dword/signed dword) $3fff/(byte/signed byte/word/signed word/dword/signed dword) $40|((word))(const byte*) BITMAP#0&(word/signed word/dword/signed dword) $3fff/(word/signed word/dword/signed dword) $400 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
|
Statement [26] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 ] ( main:2::lines:14::bitmap_line:21 [ lines::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 ] ) always clobbers reg byte a
|
|
Statement [28] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#2 ] ( main:2::lines:14::bitmap_line:21 [ lines::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#2 ] ) always clobbers reg byte a
|
|
Statement [43] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#1 ] ( main:2::lines:14::bitmap_line:21 [ lines::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#1 ] ) always clobbers reg byte a
|
|
Statement [57] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 ] ( main:2::lines:14::bitmap_line:21 [ lines::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 ] ) always clobbers reg byte a
|
|
Statement [59] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#10 ] ( main:2::lines:14::bitmap_line:21 [ lines::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#10 ] ) always clobbers reg byte a
|
|
Statement [73] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#11 ] ( main:2::lines:14::bitmap_line:21 [ lines::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#11 ] ) always clobbers reg byte a
|
|
Statement [88] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:42 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:86 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] ) always clobbers reg byte a
|
|
Statement [94] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:42 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:86 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] ) always clobbers reg byte a
|
|
Statement [97] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:42 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:86 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] ) always clobbers reg byte a
|
|
Statement [103] (word) bitmap_plot::plotter_x#0 ← *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_plot::x#4) [ bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:42::bitmap_plot:92 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:86::bitmap_plot:92 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:35::bitmap_plot:114 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:80::bitmap_plot:114 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:56::bitmap_plot:129 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:72::bitmap_plot:129 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:50::bitmap_plot:144 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:66::bitmap_plot:144 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] ) always clobbers reg byte a
|
|
Statement [104] (word) bitmap_plot::plotter_y#0 ← *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#4) [ bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:42::bitmap_plot:92 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:86::bitmap_plot:92 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:35::bitmap_plot:114 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:80::bitmap_plot:114 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:56::bitmap_plot:129 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:72::bitmap_plot:129 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:50::bitmap_plot:144 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:66::bitmap_plot:144 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] ) always clobbers reg byte a
|
|
Statement [105] (word~) bitmap_plot::$0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 [ bitmap_plot::x#4 bitmap_plot::$0 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:42::bitmap_plot:92 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:86::bitmap_plot:92 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:35::bitmap_plot:114 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:80::bitmap_plot:114 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:56::bitmap_plot:129 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:72::bitmap_plot:129 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:50::bitmap_plot:144 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:66::bitmap_plot:144 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] ) always clobbers reg byte a
|
|
Statement [106] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_plot::x#4) [ bitmap_plot::$0 bitmap_plot::$1 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:42::bitmap_plot:92 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:86::bitmap_plot:92 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:35::bitmap_plot:114 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:80::bitmap_plot:114 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:56::bitmap_plot:129 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:72::bitmap_plot:129 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:50::bitmap_plot:144 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:66::bitmap_plot:144 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] ) always clobbers reg byte a reg byte y
|
|
Statement [107] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 [ ] ( main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:42::bitmap_plot:92 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyi:86::bitmap_plot:92 [ lines::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:35::bitmap_plot:114 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:80::bitmap_plot:114 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:56::bitmap_plot:129 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:72::bitmap_plot:129 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:50::bitmap_plot:144 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:66::bitmap_plot:144 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 ] ) always clobbers reg byte y
|
|
Statement [110] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:35 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:80 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] ) always clobbers reg byte a
|
|
Statement [116] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:35 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:80 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] ) always clobbers reg byte a
|
|
Statement [119] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:35 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxi:80 [ lines::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] ) always clobbers reg byte a
|
|
Statement [125] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:56 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:72 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] ) always clobbers reg byte a
|
|
Statement [131] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:56 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:72 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] ) always clobbers reg byte a
|
|
Statement [134] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:56 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] main:2::lines:14::bitmap_line:21::bitmap_line_xdyd:72 [ lines::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] ) always clobbers reg byte a
|
|
Statement [140] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:50 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:66 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] ) always clobbers reg byte a
|
|
Statement [146] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:50 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:66 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] ) always clobbers reg byte a
|
|
Statement [149] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] ( main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:50 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] main:2::lines:14::bitmap_line:21::bitmap_line_ydxd:66 [ lines::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] ) always clobbers reg byte a
|
|
Statement [156] *((byte*) init_screen::c#2) ← (byte/signed byte/word/signed word/dword/signed dword) $14 [ init_screen::c#2 ] ( main:2::init_screen:12 [ init_screen::c#2 ] ) always clobbers reg byte a reg byte y
|
|
Statement [158] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word/signed word/dword/signed dword) $400) goto init_screen::@1 [ init_screen::c#1 ] ( main:2::init_screen:12 [ init_screen::c#1 ] ) always clobbers reg byte a
|
|
Statement [160] (word~) bitmap_clear::$3 ← *((const byte[$100]) bitmap_plot_xhi#0) w= *((const byte[$100]) bitmap_plot_xlo#0) [ bitmap_clear::$3 ] ( main:2::bitmap_clear:10 [ bitmap_clear::$3 ] ) always clobbers reg byte a
|
|
Statement [161] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3 [ bitmap_clear::bitmap#5 ] ( main:2::bitmap_clear:10 [ bitmap_clear::bitmap#5 ] ) always clobbers reg byte a
|
|
Statement [164] *((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] ( main:2::bitmap_clear:10 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] ) always clobbers reg byte a reg byte y
|
|
Statement [173] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte/word/signed word/dword/signed dword) $f8 [ bitmap_init::x#2 bitmap_init::bits#3 bitmap_init::$0 ] ( main:2::bitmap_init:8 [ bitmap_init::x#2 bitmap_init::bits#3 bitmap_init::$0 ] ) always clobbers reg byte a
|
|
Statement [175] *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← >(const byte*) BITMAP#0 [ bitmap_init::x#2 bitmap_init::bits#3 ] ( main:2::bitmap_init:8 [ bitmap_init::x#2 bitmap_init::bits#3 ] ) always clobbers reg byte a
|
|
Statement [176] *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 [ bitmap_init::x#2 bitmap_init::bits#3 ] ( main:2::bitmap_init:8 [ bitmap_init::x#2 bitmap_init::bits#3 ] ) always clobbers reg byte a
|
|
Statement [183] (byte~) bitmap_init::$6 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$6 ] ( main:2::bitmap_init:8 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$6 ] ) always clobbers reg byte a
|
|
Statement [189] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$10 ] ( main:2::bitmap_init:8 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$10 ] ) always clobbers reg byte a
|
|
Statement [191] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ( main:2::bitmap_init:8 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ) always clobbers reg byte a
|
|
Potential registers zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ] : zp ZP_BYTE:2 , reg byte x ,
|
|
Potential registers zp ZP_BYTE:3 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] : zp ZP_BYTE:3 , reg byte x ,
|
|
Potential registers zp ZP_BYTE:4 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] : zp ZP_BYTE:4 , reg byte x ,
|
|
Potential registers zp ZP_BYTE:5 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ] : zp ZP_BYTE:5 , reg byte x ,
|
|
Potential registers zp ZP_BYTE:6 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 ] : zp ZP_BYTE:6 , reg byte x ,
|
|
Potential registers zp ZP_BYTE:7 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] : zp ZP_BYTE:7 , reg byte x ,
|
|
Potential registers zp ZP_BYTE:8 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ] : zp ZP_BYTE:8 , reg byte x ,
|
|
Potential registers zp ZP_BYTE:9 [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ] : zp ZP_BYTE:9 , reg byte x , reg byte y ,
|
|
Potential registers zp ZP_BYTE:10 [ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ] : zp ZP_BYTE:10 , reg byte x , reg byte y ,
|
|
Potential registers zp ZP_BYTE:11 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] : zp ZP_BYTE:11 , reg byte x ,
|
|
Potential registers zp ZP_BYTE:12 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] : zp ZP_BYTE:12 , reg byte x ,
|
|
Potential registers zp ZP_BYTE:13 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] : zp ZP_BYTE:13 , reg byte x ,
|
|
Potential registers zp ZP_BYTE:14 [ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#5 bitmap_line_ydxi::x#1 bitmap_line_ydxi::x#0 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ] : zp ZP_BYTE:14 , reg byte x ,
|
|
Potential registers zp ZP_BYTE:15 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 ] : zp ZP_BYTE:15 , reg byte x ,
|
|
Potential registers zp ZP_BYTE:16 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ] : zp ZP_BYTE:16 , reg byte x ,
|
|
Potential registers zp ZP_BYTE:17 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ] : zp ZP_BYTE:17 , reg byte x ,
|
|
Potential registers zp ZP_BYTE:18 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] : zp ZP_BYTE:18 , reg byte x ,
|
|
Potential registers zp ZP_BYTE:19 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ] : zp ZP_BYTE:19 , reg byte x ,
|
|
Potential registers zp ZP_BYTE:20 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#2 ] : zp ZP_BYTE:20 , reg byte x ,
|
|
Potential registers zp ZP_BYTE:21 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] : zp ZP_BYTE:21 , reg byte x ,
|
|
Potential registers zp ZP_BYTE:22 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ] : zp ZP_BYTE:22 , reg byte x ,
|
|
Potential registers zp ZP_BYTE:23 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] : zp ZP_BYTE:23 , reg byte x ,
|
|
Potential registers zp ZP_BYTE:24 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] : zp ZP_BYTE:24 , reg byte x ,
|
|
Potential registers zp ZP_BYTE:25 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] : zp ZP_BYTE:25 , reg byte x ,
|
|
Potential registers zp ZP_BYTE:26 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] : zp ZP_BYTE:26 , reg byte x ,
|
|
Potential registers zp ZP_BYTE:27 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] : zp ZP_BYTE:27 , reg byte x ,
|
|
Potential registers zp ZP_BYTE:28 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ] : zp ZP_BYTE:28 , reg byte x ,
|
|
Potential registers zp ZP_WORD:29 [ init_screen::c#2 init_screen::c#1 ] : zp ZP_WORD:29 ,
|
|
Potential registers zp ZP_BYTE:31 [ bitmap_clear::y#4 bitmap_clear::y#1 ] : zp ZP_BYTE:31 , reg byte x ,
|
|
Potential registers zp ZP_WORD:32 [ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ] : zp ZP_WORD:32 ,
|
|
Potential registers zp ZP_BYTE:34 [ bitmap_clear::x#2 bitmap_clear::x#1 ] : zp ZP_BYTE:34 , reg byte x ,
|
|
Potential registers zp ZP_BYTE:35 [ bitmap_init::x#2 bitmap_init::x#1 ] : zp ZP_BYTE:35 , reg byte x , reg byte y ,
|
|
Potential registers zp ZP_BYTE:36 [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ] : zp ZP_BYTE:36 , reg byte x , reg byte y ,
|
|
Potential registers zp ZP_BYTE:37 [ bitmap_init::y#2 bitmap_init::y#1 ] : zp ZP_BYTE:37 , reg byte x , reg byte y ,
|
|
Potential registers zp ZP_WORD:38 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] : zp ZP_WORD:38 ,
|
|
Potential registers zp ZP_BYTE:40 [ bitmap_line::x0#0 ] : zp ZP_BYTE:40 , reg byte x , reg byte y ,
|
|
Potential registers zp ZP_BYTE:41 [ bitmap_line::x1#0 ] : zp ZP_BYTE:41 , reg byte x , reg byte y ,
|
|
Potential registers zp ZP_BYTE:42 [ bitmap_line::y0#0 ] : zp ZP_BYTE:42 , reg byte x , reg byte y ,
|
|
Potential registers zp ZP_BYTE:43 [ bitmap_line::y1#0 ] : zp ZP_BYTE:43 , reg byte x , reg byte y ,
|
|
Potential registers zp ZP_BYTE:44 [ bitmap_line::xd#2 ] : zp ZP_BYTE:44 , reg byte x , reg byte y ,
|
|
Potential registers zp ZP_BYTE:45 [ bitmap_line::yd#2 ] : zp ZP_BYTE:45 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp ZP_BYTE:46 [ bitmap_line::yd#1 ] : zp ZP_BYTE:46 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp ZP_BYTE:47 [ bitmap_line::xd#1 ] : zp ZP_BYTE:47 , reg byte x , reg byte y ,
|
|
Potential registers zp ZP_BYTE:48 [ bitmap_line::yd#10 ] : zp ZP_BYTE:48 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp ZP_BYTE:49 [ bitmap_line::yd#11 ] : zp ZP_BYTE:49 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp ZP_BYTE:50 [ bitmap_line_xdyi::$6 ] : zp ZP_BYTE:50 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp ZP_WORD:51 [ bitmap_plot::plotter_x#0 ] : zp ZP_WORD:51 ,
|
|
Potential registers zp ZP_WORD:53 [ bitmap_plot::plotter_y#0 ] : zp ZP_WORD:53 ,
|
|
Potential registers zp ZP_WORD:55 [ bitmap_plot::$0 ] : zp ZP_WORD:55 ,
|
|
Potential registers zp ZP_BYTE:57 [ bitmap_plot::$1 ] : zp ZP_BYTE:57 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp ZP_BYTE:58 [ bitmap_line_ydxi::$6 ] : zp ZP_BYTE:58 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp ZP_BYTE:59 [ bitmap_line_xdyd::$6 ] : zp ZP_BYTE:59 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp ZP_BYTE:60 [ bitmap_line_ydxd::$6 ] : zp ZP_BYTE:60 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp ZP_WORD:61 [ bitmap_clear::$3 ] : zp ZP_WORD:61 ,
|
|
Potential registers zp ZP_BYTE:63 [ bitmap_init::$0 ] : zp ZP_BYTE:63 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp ZP_BYTE:64 [ bitmap_init::$6 ] : zp ZP_BYTE:64 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp ZP_BYTE:65 [ bitmap_init::$7 ] : zp ZP_BYTE:65 , reg byte a , reg byte x , reg byte y , reg byte alu ,
|
|
Potential registers zp ZP_BYTE:66 [ bitmap_init::$8 ] : zp ZP_BYTE:66 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp ZP_BYTE:67 [ bitmap_init::$9 ] : zp ZP_BYTE:67 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp ZP_BYTE:68 [ bitmap_init::$10 ] : zp ZP_BYTE:68 , reg byte a , reg byte x , reg byte y ,
|
|
|
|
REGISTER UPLIFT SCOPES
|
|
Uplift Scope [bitmap_plot] 10,012: zp ZP_BYTE:10 [ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ] 5,006.5: zp ZP_BYTE:9 [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ] 4: zp ZP_WORD:53 [ bitmap_plot::plotter_y#0 ] 4: zp ZP_BYTE:57 [ bitmap_plot::$1 ] 2: zp ZP_WORD:51 [ bitmap_plot::plotter_x#0 ] 1: zp ZP_WORD:55 [ bitmap_plot::$0 ]
|
|
Uplift Scope [bitmap_line_xdyi] 4,742.47: zp ZP_BYTE:8 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ] 2,579.29: zp ZP_BYTE:7 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] 2,002: zp ZP_BYTE:50 [ bitmap_line_xdyi::$6 ] 1,131.22: zp ZP_BYTE:6 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 ] 147.29: zp ZP_BYTE:4 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] 79.93: zp ZP_BYTE:3 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] 74.45: zp ZP_BYTE:5 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ]
|
|
Uplift Scope [bitmap_line_xdyd] 4,742.47: zp ZP_BYTE:22 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ] 2,579.29: zp ZP_BYTE:21 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] 2,002: zp ZP_BYTE:59 [ bitmap_line_xdyd::$6 ] 1,131.22: zp ZP_BYTE:20 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#2 ] 147.29: zp ZP_BYTE:18 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] 79.93: zp ZP_BYTE:17 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ] 74.45: zp ZP_BYTE:19 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ]
|
|
Uplift Scope [bitmap_line_ydxi] 4,742.47: zp ZP_BYTE:16 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ] 2,579.29: zp ZP_BYTE:14 [ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#5 bitmap_line_ydxi::x#1 bitmap_line_ydxi::x#0 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ] 2,002: zp ZP_BYTE:58 [ bitmap_line_ydxi::$6 ] 1,131.22: zp ZP_BYTE:15 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 ] 147.29: zp ZP_BYTE:12 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] 79.93: zp ZP_BYTE:11 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] 74.45: zp ZP_BYTE:13 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ]
|
|
Uplift Scope [bitmap_line_ydxd] 4,742.47: zp ZP_BYTE:28 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ] 2,579.29: zp ZP_BYTE:26 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] 2,002: zp ZP_BYTE:60 [ bitmap_line_ydxd::$6 ] 1,131.22: zp ZP_BYTE:27 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] 147.29: zp ZP_BYTE:24 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] 79.93: zp ZP_BYTE:23 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] 74.45: zp ZP_BYTE:25 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ]
|
|
Uplift Scope [bitmap_clear] 227.6: zp ZP_WORD:32 [ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ] 218.83: zp ZP_BYTE:34 [ bitmap_clear::x#2 bitmap_clear::x#1 ] 20.17: zp ZP_BYTE:31 [ bitmap_clear::y#4 bitmap_clear::y#1 ] 2: zp ZP_WORD:61 [ bitmap_clear::$3 ]
|
|
Uplift Scope [lines] 252.5: zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ]
|
|
Uplift Scope [bitmap_init] 39.11: zp ZP_WORD:38 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] 24.93: zp ZP_BYTE:36 [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ] 23.83: zp ZP_BYTE:35 [ bitmap_init::x#2 bitmap_init::x#1 ] 22.5: zp ZP_BYTE:37 [ bitmap_init::y#2 bitmap_init::y#1 ] 22: zp ZP_BYTE:63 [ bitmap_init::$0 ] 22: zp ZP_BYTE:65 [ bitmap_init::$7 ] 22: zp ZP_BYTE:66 [ bitmap_init::$8 ] 22: zp ZP_BYTE:67 [ bitmap_init::$9 ] 22: zp ZP_BYTE:68 [ bitmap_init::$10 ] 11: zp ZP_BYTE:64 [ bitmap_init::$6 ]
|
|
Uplift Scope [init_screen] 33: zp ZP_WORD:29 [ init_screen::c#2 init_screen::c#1 ]
|
|
Uplift Scope [bitmap_line] 6.25: zp ZP_BYTE:43 [ bitmap_line::y1#0 ] 5.95: zp ZP_BYTE:42 [ bitmap_line::y0#0 ] 5.41: zp ZP_BYTE:41 [ bitmap_line::x1#0 ] 5.17: zp ZP_BYTE:40 [ bitmap_line::x0#0 ] 0.89: zp ZP_BYTE:45 [ bitmap_line::yd#2 ] 0.89: zp ZP_BYTE:46 [ bitmap_line::yd#1 ] 0.89: zp ZP_BYTE:48 [ bitmap_line::yd#10 ] 0.89: zp ZP_BYTE:49 [ bitmap_line::yd#11 ] 0.7: zp ZP_BYTE:44 [ bitmap_line::xd#2 ] 0.7: zp ZP_BYTE:47 [ bitmap_line::xd#1 ]
|
|
Uplift Scope [main]
|
|
Uplift Scope []
|
|
|
|
Uplifting [bitmap_plot] best 316481 combination reg byte y [ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ] reg byte x [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ] zp ZP_WORD:53 [ bitmap_plot::plotter_y#0 ] reg byte a [ bitmap_plot::$1 ] zp ZP_WORD:51 [ bitmap_plot::plotter_x#0 ] zp ZP_WORD:55 [ bitmap_plot::$0 ]
|
|
Uplifting [bitmap_line_xdyi] best 307475 combination zp ZP_BYTE:8 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ] zp ZP_BYTE:7 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] zp ZP_BYTE:50 [ bitmap_line_xdyi::$6 ] reg byte x [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 ] zp ZP_BYTE:4 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] zp ZP_BYTE:3 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] zp ZP_BYTE:5 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ]
|
|
Limited combination testing to 100 combinations of 256 possible.
|
|
Uplifting [bitmap_line_xdyd] best 298469 combination zp ZP_BYTE:22 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ] zp ZP_BYTE:21 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] zp ZP_BYTE:59 [ bitmap_line_xdyd::$6 ] reg byte x [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#2 ] zp ZP_BYTE:18 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] zp ZP_BYTE:17 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ] zp ZP_BYTE:19 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ]
|
|
Limited combination testing to 100 combinations of 256 possible.
|
|
Uplifting [bitmap_line_ydxi] best 286463 combination zp ZP_BYTE:16 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ] reg byte x [ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#5 bitmap_line_ydxi::x#1 bitmap_line_ydxi::x#0 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ] reg byte y [ bitmap_line_ydxi::$6 ] zp ZP_BYTE:15 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 ] zp ZP_BYTE:12 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] zp ZP_BYTE:11 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] zp ZP_BYTE:13 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ]
|
|
Limited combination testing to 100 combinations of 256 possible.
|
|
Uplifting [bitmap_line_ydxd] best 274457 combination zp ZP_BYTE:28 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ] reg byte x [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] reg byte y [ bitmap_line_ydxd::$6 ] zp ZP_BYTE:27 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] zp ZP_BYTE:24 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] zp ZP_BYTE:23 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] zp ZP_BYTE:25 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ]
|
|
Limited combination testing to 100 combinations of 256 possible.
|
|
Uplifting [bitmap_clear] best 273557 combination zp ZP_WORD:32 [ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ] reg byte x [ bitmap_clear::x#2 bitmap_clear::x#1 ] zp ZP_BYTE:31 [ bitmap_clear::y#4 bitmap_clear::y#1 ] zp ZP_WORD:61 [ bitmap_clear::$3 ]
|
|
Uplifting [lines] best 273557 combination zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ]
|
|
Uplifting [bitmap_init] best 273007 combination zp ZP_WORD:38 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] reg byte y [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ] reg byte x [ bitmap_init::x#2 bitmap_init::x#1 ] reg byte x [ bitmap_init::y#2 bitmap_init::y#1 ] reg byte a [ bitmap_init::$0 ] zp ZP_BYTE:65 [ bitmap_init::$7 ] zp ZP_BYTE:66 [ bitmap_init::$8 ] zp ZP_BYTE:67 [ bitmap_init::$9 ] zp ZP_BYTE:68 [ bitmap_init::$10 ] zp ZP_BYTE:64 [ bitmap_init::$6 ]
|
|
Limited combination testing to 100 combinations of 138240 possible.
|
|
Uplifting [init_screen] best 273007 combination zp ZP_WORD:29 [ init_screen::c#2 init_screen::c#1 ]
|
|
Uplifting [bitmap_line] best 272693 combination reg byte y [ bitmap_line::y1#0 ] zp ZP_BYTE:42 [ bitmap_line::y0#0 ] zp ZP_BYTE:41 [ bitmap_line::x1#0 ] zp ZP_BYTE:40 [ bitmap_line::x0#0 ] zp ZP_BYTE:45 [ bitmap_line::yd#2 ] zp ZP_BYTE:46 [ bitmap_line::yd#1 ] zp ZP_BYTE:48 [ bitmap_line::yd#10 ] zp ZP_BYTE:49 [ bitmap_line::yd#11 ] zp ZP_BYTE:44 [ bitmap_line::xd#2 ] zp ZP_BYTE:47 [ bitmap_line::xd#1 ]
|
|
Limited combination testing to 100 combinations of 186624 possible.
|
|
Uplifting [main] best 272693 combination
|
|
Uplifting [] best 272693 combination
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:8 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ]
|
|
Uplifting [bitmap_line_xdyi] best 272693 combination zp ZP_BYTE:8 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:16 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ]
|
|
Uplifting [bitmap_line_ydxi] best 272693 combination zp ZP_BYTE:16 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:22 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ]
|
|
Uplifting [bitmap_line_xdyd] best 272693 combination zp ZP_BYTE:22 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:28 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ]
|
|
Uplifting [bitmap_line_ydxd] best 272693 combination zp ZP_BYTE:28 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:7 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ]
|
|
Uplifting [bitmap_line_xdyi] best 272693 combination zp ZP_BYTE:7 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:21 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ]
|
|
Uplifting [bitmap_line_xdyd] best 272693 combination zp ZP_BYTE:21 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:50 [ bitmap_line_xdyi::$6 ]
|
|
Uplifting [bitmap_line_xdyi] best 272693 combination zp ZP_BYTE:50 [ bitmap_line_xdyi::$6 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:59 [ bitmap_line_xdyd::$6 ]
|
|
Uplifting [bitmap_line_xdyd] best 272693 combination zp ZP_BYTE:59 [ bitmap_line_xdyd::$6 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:15 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 ]
|
|
Uplifting [bitmap_line_ydxi] best 272693 combination zp ZP_BYTE:15 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:27 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ]
|
|
Uplifting [bitmap_line_ydxd] best 272693 combination zp ZP_BYTE:27 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:2 [ lines::l#2 lines::l#1 ]
|
|
Uplifting [lines] best 272693 combination zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:4 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ]
|
|
Uplifting [bitmap_line_xdyi] best 272693 combination zp ZP_BYTE:4 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:12 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ]
|
|
Uplifting [bitmap_line_ydxi] best 272693 combination zp ZP_BYTE:12 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:18 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ]
|
|
Uplifting [bitmap_line_xdyd] best 272693 combination zp ZP_BYTE:18 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:24 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ]
|
|
Uplifting [bitmap_line_ydxd] best 272693 combination zp ZP_BYTE:24 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:3 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ]
|
|
Uplifting [bitmap_line_xdyi] best 272693 combination zp ZP_BYTE:3 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:11 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ]
|
|
Uplifting [bitmap_line_ydxi] best 272693 combination zp ZP_BYTE:11 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:17 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ]
|
|
Uplifting [bitmap_line_xdyd] best 272693 combination zp ZP_BYTE:17 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:23 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ]
|
|
Uplifting [bitmap_line_ydxd] best 272693 combination zp ZP_BYTE:23 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:5 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ]
|
|
Uplifting [bitmap_line_xdyi] best 272693 combination zp ZP_BYTE:5 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:13 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ]
|
|
Uplifting [bitmap_line_ydxi] best 272693 combination zp ZP_BYTE:13 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:19 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ]
|
|
Uplifting [bitmap_line_xdyd] best 272693 combination zp ZP_BYTE:19 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:25 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ]
|
|
Uplifting [bitmap_line_ydxd] best 272693 combination zp ZP_BYTE:25 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:65 [ bitmap_init::$7 ]
|
|
Uplifting [bitmap_init] best 272633 combination reg byte a [ bitmap_init::$7 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:66 [ bitmap_init::$8 ]
|
|
Uplifting [bitmap_init] best 272573 combination reg byte a [ bitmap_init::$8 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:67 [ bitmap_init::$9 ]
|
|
Uplifting [bitmap_init] best 272513 combination reg byte a [ bitmap_init::$9 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:68 [ bitmap_init::$10 ]
|
|
Uplifting [bitmap_init] best 272473 combination reg byte a [ bitmap_init::$10 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:31 [ bitmap_clear::y#4 bitmap_clear::y#1 ]
|
|
Uplifting [bitmap_clear] best 272473 combination zp ZP_BYTE:31 [ bitmap_clear::y#4 bitmap_clear::y#1 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:64 [ bitmap_init::$6 ]
|
|
Uplifting [bitmap_init] best 272473 combination zp ZP_BYTE:64 [ bitmap_init::$6 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:42 [ bitmap_line::y0#0 ]
|
|
Uplifting [bitmap_line] best 272473 combination zp ZP_BYTE:42 [ bitmap_line::y0#0 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:41 [ bitmap_line::x1#0 ]
|
|
Uplifting [bitmap_line] best 272473 combination zp ZP_BYTE:41 [ bitmap_line::x1#0 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:40 [ bitmap_line::x0#0 ]
|
|
Uplifting [bitmap_line] best 272473 combination zp ZP_BYTE:40 [ bitmap_line::x0#0 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:45 [ bitmap_line::yd#2 ]
|
|
Uplifting [bitmap_line] best 272473 combination zp ZP_BYTE:45 [ bitmap_line::yd#2 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:46 [ bitmap_line::yd#1 ]
|
|
Uplifting [bitmap_line] best 272473 combination zp ZP_BYTE:46 [ bitmap_line::yd#1 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:48 [ bitmap_line::yd#10 ]
|
|
Uplifting [bitmap_line] best 272473 combination zp ZP_BYTE:48 [ bitmap_line::yd#10 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:49 [ bitmap_line::yd#11 ]
|
|
Uplifting [bitmap_line] best 272473 combination zp ZP_BYTE:49 [ bitmap_line::yd#11 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:44 [ bitmap_line::xd#2 ]
|
|
Uplifting [bitmap_line] best 272473 combination zp ZP_BYTE:44 [ bitmap_line::xd#2 ]
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:47 [ bitmap_line::xd#1 ]
|
|
Uplifting [bitmap_line] best 272473 combination zp ZP_BYTE:47 [ bitmap_line::xd#1 ]
|
|
Coalescing zero page register with common assignment [ zp ZP_BYTE:3 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] ] with [ zp ZP_BYTE:45 [ bitmap_line::yd#2 ] ] - score: 1
|
|
Coalescing zero page register with common assignment [ zp ZP_BYTE:3 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 bitmap_line::yd#2 ] ] with [ zp ZP_BYTE:49 [ bitmap_line::yd#11 ] ] - score: 1
|
|
Coalescing zero page register with common assignment [ zp ZP_BYTE:4 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] ] with [ zp ZP_BYTE:44 [ bitmap_line::xd#2 ] ] - score: 1
|
|
Coalescing zero page register with common assignment [ zp ZP_BYTE:4 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 bitmap_line::xd#2 ] ] with [ zp ZP_BYTE:47 [ bitmap_line::xd#1 ] ] - score: 1
|
|
Coalescing zero page register with common assignment [ zp ZP_BYTE:5 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ] ] with [ zp ZP_BYTE:40 [ bitmap_line::x0#0 ] ] - score: 1
|
|
Coalescing zero page register with common assignment [ zp ZP_BYTE:7 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] ] with [ zp ZP_BYTE:42 [ bitmap_line::y0#0 ] ] - score: 1
|
|
Coalescing zero page register with common assignment [ zp ZP_BYTE:17 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ] ] with [ zp ZP_BYTE:46 [ bitmap_line::yd#1 ] ] - score: 1
|
|
Coalescing zero page register with common assignment [ zp ZP_BYTE:17 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 bitmap_line::yd#1 ] ] with [ zp ZP_BYTE:48 [ bitmap_line::yd#10 ] ] - score: 1
|
|
Coalescing zero page register with common assignment [ zp ZP_BYTE:19 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ] ] with [ zp ZP_BYTE:41 [ bitmap_line::x1#0 ] ] - score: 1
|
|
Coalescing zero page register with common assignment [ zp ZP_WORD:32 [ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ] ] with [ zp ZP_WORD:61 [ bitmap_clear::$3 ] ] - score: 1
|
|
Coalescing zero page register with common assignment [ zp ZP_WORD:51 [ bitmap_plot::plotter_x#0 ] ] with [ zp ZP_WORD:55 [ bitmap_plot::$0 ] ] - score: 1
|
|
Coalescing zero page register with common assignment [ zp ZP_BYTE:3 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 bitmap_line::yd#2 bitmap_line::yd#11 ] ] with [ zp ZP_BYTE:12 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] ] - score: 2
|
|
Coalescing zero page register with common assignment [ zp ZP_BYTE:4 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 bitmap_line::xd#2 bitmap_line::xd#1 ] ] with [ zp ZP_BYTE:11 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] ] - score: 2
|
|
Coalescing zero page register with common assignment [ zp ZP_BYTE:4 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 bitmap_line::xd#2 bitmap_line::xd#1 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] ] with [ zp ZP_BYTE:18 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] ] - score: 2
|
|
Coalescing zero page register with common assignment [ zp ZP_BYTE:4 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 bitmap_line::xd#2 bitmap_line::xd#1 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] ] with [ zp ZP_BYTE:23 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] ] - score: 2
|
|
Coalescing zero page register with common assignment [ zp ZP_BYTE:17 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 bitmap_line::yd#1 bitmap_line::yd#10 ] ] with [ zp ZP_BYTE:24 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] ] - score: 2
|
|
Coalescing zero page register with common assignment [ zp ZP_BYTE:7 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 bitmap_line::y0#0 ] ] with [ zp ZP_BYTE:13 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] ] - score: 1
|
|
Coalescing zero page register with common assignment [ zp ZP_BYTE:7 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 bitmap_line::y0#0 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] ] with [ zp ZP_BYTE:21 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] ] - score: 1
|
|
Coalescing zero page register with common assignment [ zp ZP_BYTE:7 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 bitmap_line::y0#0 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] ] with [ zp ZP_BYTE:25 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] ] - score: 1
|
|
Coalescing zero page register [ zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ] ] with [ zp ZP_BYTE:31 [ bitmap_clear::y#4 bitmap_clear::y#1 ] ]
|
|
Coalescing zero page register [ zp ZP_BYTE:2 [ lines::l#2 lines::l#1 bitmap_clear::y#4 bitmap_clear::y#1 ] ] with [ zp ZP_BYTE:64 [ bitmap_init::$6 ] ]
|
|
Coalescing zero page register [ zp ZP_BYTE:3 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 bitmap_line::yd#2 bitmap_line::yd#11 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] ] with [ zp ZP_BYTE:17 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 bitmap_line::yd#1 bitmap_line::yd#10 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] ]
|
|
Coalescing zero page register [ zp ZP_BYTE:5 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 bitmap_line::x0#0 ] ] with [ zp ZP_BYTE:16 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ] ]
|
|
Coalescing zero page register [ zp ZP_BYTE:5 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 bitmap_line::x0#0 bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ] ] with [ zp ZP_BYTE:22 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ] ]
|
|
Coalescing zero page register [ zp ZP_BYTE:5 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 bitmap_line::x0#0 bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ] ] with [ zp ZP_BYTE:28 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ] ]
|
|
Coalescing zero page register [ zp ZP_BYTE:8 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ] ] with [ zp ZP_BYTE:15 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 ] ]
|
|
Coalescing zero page register [ zp ZP_BYTE:8 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 ] ] with [ zp ZP_BYTE:27 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] ]
|
|
Coalescing zero page register [ zp ZP_BYTE:8 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] ] with [ zp ZP_BYTE:59 [ bitmap_line_xdyd::$6 ] ]
|
|
Coalescing zero page register [ zp ZP_BYTE:19 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 bitmap_line::x1#0 ] ] with [ zp ZP_BYTE:50 [ bitmap_line_xdyi::$6 ] ]
|
|
Coalescing zero page register [ zp ZP_WORD:29 [ init_screen::c#2 init_screen::c#1 ] ] with [ zp ZP_WORD:32 [ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::$3 ] ]
|
|
Coalescing zero page register [ zp ZP_WORD:29 [ init_screen::c#2 init_screen::c#1 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::$3 ] ] with [ zp ZP_WORD:38 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] ]
|
|
Coalescing zero page register [ zp ZP_WORD:29 [ init_screen::c#2 init_screen::c#1 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::$3 bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] ] with [ zp ZP_WORD:51 [ bitmap_plot::plotter_x#0 bitmap_plot::$0 ] ]
|
|
Allocated (was zp ZP_BYTE:7) zp ZP_BYTE:6 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 bitmap_line::y0#0 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ]
|
|
Allocated (was zp ZP_BYTE:8) zp ZP_BYTE:7 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 bitmap_line_xdyd::$6 ]
|
|
Allocated (was zp ZP_BYTE:19) zp ZP_BYTE:8 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 bitmap_line::x1#0 bitmap_line_xdyi::$6 ]
|
|
Allocated (was zp ZP_WORD:29) zp ZP_WORD:9 [ init_screen::c#2 init_screen::c#1 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::$3 bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 bitmap_plot::plotter_x#0 bitmap_plot::$0 ]
|
|
Allocated (was zp ZP_WORD:53) zp ZP_WORD:11 [ bitmap_plot::plotter_y#0 ]
|
|
|
|
ASSEMBLER BEFORE OPTIMIZATION
|
|
//SEG0 File Comments
|
|
//SEG1 Basic Upstart
|
|
.pc = $801 "Basic"
|
|
:BasicUpstart(bbegin)
|
|
.pc = $80d "Program"
|
|
//SEG2 Global Constants & labels
|
|
.label BORDERCOL = $d020
|
|
.label BGCOL = $d021
|
|
.label D011 = $d011
|
|
.const VIC_BMM = $20
|
|
.const VIC_DEN = $10
|
|
.const VIC_RSEL = 8
|
|
.label VIC_MEMORY = $d018
|
|
.label SCREEN = $400
|
|
.label BITMAP = $2000
|
|
.const lines_cnt = 8
|
|
//SEG3 @begin
|
|
bbegin:
|
|
//SEG4 [1] phi from @begin to @1 [phi:@begin->@1]
|
|
b1_from_bbegin:
|
|
jmp b1
|
|
//SEG5 @1
|
|
b1:
|
|
//SEG6 [2] call main
|
|
jsr main
|
|
//SEG7 [3] phi from @1 to @end [phi:@1->@end]
|
|
bend_from_b1:
|
|
jmp bend
|
|
//SEG8 @end
|
|
bend:
|
|
//SEG9 main
|
|
main: {
|
|
//SEG10 [4] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuc1=vbuc2
|
|
lda #0
|
|
sta BORDERCOL
|
|
//SEG11 [5] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuc1=vbuc2
|
|
lda #0
|
|
sta BGCOL
|
|
//SEG12 [6] *((const byte*) D011#0) ← (const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 -- _deref_pbuc1=vbuc2
|
|
lda #VIC_BMM|VIC_DEN|VIC_RSEL|3
|
|
sta D011
|
|
//SEG13 [7] *((const byte*) VIC_MEMORY#0) ← ((byte))((word))(const byte*) SCREEN#0&(word/signed word/dword/signed dword) $3fff/(byte/signed byte/word/signed word/dword/signed dword) $40|((word))(const byte*) BITMAP#0&(word/signed word/dword/signed dword) $3fff/(word/signed word/dword/signed dword) $400 -- _deref_pbuc1=vbuc2
|
|
lda #(SCREEN&$3fff)/$40|(BITMAP&$3fff)/$400
|
|
sta VIC_MEMORY
|
|
//SEG14 [8] call bitmap_init
|
|
//SEG15 [171] phi from main to bitmap_init [phi:main->bitmap_init]
|
|
bitmap_init_from_main:
|
|
jsr bitmap_init
|
|
//SEG16 [9] phi from main to main::@2 [phi:main->main::@2]
|
|
b2_from_main:
|
|
jmp b2
|
|
//SEG17 main::@2
|
|
b2:
|
|
//SEG18 [10] call bitmap_clear
|
|
jsr bitmap_clear
|
|
//SEG19 [11] phi from main::@2 to main::@3 [phi:main::@2->main::@3]
|
|
b3_from_b2:
|
|
jmp b3
|
|
//SEG20 main::@3
|
|
b3:
|
|
//SEG21 [12] call init_screen
|
|
//SEG22 [154] phi from main::@3 to init_screen [phi:main::@3->init_screen]
|
|
init_screen_from_b3:
|
|
jsr init_screen
|
|
//SEG23 [13] phi from main::@1 main::@3 to main::@1 [phi:main::@1/main::@3->main::@1]
|
|
b1_from_b1:
|
|
b1_from_b3:
|
|
jmp b1
|
|
//SEG24 main::@1
|
|
b1:
|
|
//SEG25 [14] call lines
|
|
//SEG26 [15] phi from main::@1 to lines [phi:main::@1->lines]
|
|
lines_from_b1:
|
|
jsr lines
|
|
jmp b1_from_b1
|
|
}
|
|
//SEG27 lines
|
|
lines: {
|
|
.label l = 2
|
|
//SEG28 [16] phi from lines to lines::@1 [phi:lines->lines::@1]
|
|
b1_from_lines:
|
|
//SEG29 [16] phi (byte) lines::l#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:lines->lines::@1#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta l
|
|
jmp b1
|
|
//SEG30 [16] phi from lines::@2 to lines::@1 [phi:lines::@2->lines::@1]
|
|
b1_from_b2:
|
|
//SEG31 [16] phi (byte) lines::l#2 = (byte) lines::l#1 [phi:lines::@2->lines::@1#0] -- register_copy
|
|
jmp b1
|
|
//SEG32 lines::@1
|
|
b1:
|
|
//SEG33 [17] (byte) bitmap_line::x0#0 ← *((const byte[]) lines_x#0 + (byte) lines::l#2) -- vbuz1=pbuc1_derefidx_vbuz2
|
|
ldy l
|
|
lda lines_x,y
|
|
sta bitmap_line.x0
|
|
//SEG34 [18] (byte) bitmap_line::x1#0 ← *((const byte[]) lines_x#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) lines::l#2) -- vbuz1=pbuc1_derefidx_vbuz2
|
|
ldy l
|
|
lda lines_x+1,y
|
|
sta bitmap_line.x1
|
|
//SEG35 [19] (byte) bitmap_line::y0#0 ← *((const byte[]) lines_y#0 + (byte) lines::l#2) -- vbuz1=pbuc1_derefidx_vbuz2
|
|
ldy l
|
|
lda lines_y,y
|
|
sta bitmap_line.y0
|
|
//SEG36 [20] (byte) bitmap_line::y1#0 ← *((const byte[]) lines_y#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) lines::l#2) -- vbuyy=pbuc1_derefidx_vbuz1
|
|
ldx l
|
|
ldy lines_y+1,x
|
|
//SEG37 [21] call bitmap_line
|
|
jsr bitmap_line
|
|
jmp b2
|
|
//SEG38 lines::@2
|
|
b2:
|
|
//SEG39 [22] (byte) lines::l#1 ← ++ (byte) lines::l#2 -- vbuz1=_inc_vbuz1
|
|
inc l
|
|
//SEG40 [23] if((byte) lines::l#1<(const byte) lines_cnt#0) goto lines::@1 -- vbuz1_lt_vbuc1_then_la1
|
|
lda l
|
|
cmp #lines_cnt
|
|
bcc b1_from_b2
|
|
jmp breturn
|
|
//SEG41 lines::@return
|
|
breturn:
|
|
//SEG42 [24] return
|
|
rts
|
|
}
|
|
//SEG43 bitmap_line
|
|
// Draw a line on the bitmap
|
|
// bitmap_line(byte zeropage(5) x0, byte zeropage(8) x1, byte zeropage(6) y0, byte register(Y) y1)
|
|
bitmap_line: {
|
|
.label xd = 4
|
|
.label yd = 3
|
|
.label x0 = 5
|
|
.label x1 = 8
|
|
.label y0 = 6
|
|
//SEG44 [25] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1 -- vbuz1_lt_vbuz2_then_la1
|
|
lda x0
|
|
cmp x1
|
|
bcc b1
|
|
jmp b2
|
|
//SEG45 bitmap_line::@2
|
|
b2:
|
|
//SEG46 [26] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 -- vbuz1=vbuz2_minus_vbuz3
|
|
lda x0
|
|
sec
|
|
sbc x1
|
|
sta xd
|
|
//SEG47 [27] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@7 -- vbuz1_lt_vbuyy_then_la1
|
|
tya
|
|
cmp y0
|
|
beq !+
|
|
bcs b7
|
|
!:
|
|
jmp b3
|
|
//SEG48 bitmap_line::@3
|
|
b3:
|
|
//SEG49 [28] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuyy
|
|
tya
|
|
eor #$ff
|
|
sec
|
|
adc y0
|
|
sta yd
|
|
//SEG50 [29] if((byte) bitmap_line::yd#2<(byte) bitmap_line::xd#2) goto bitmap_line::@8 -- vbuz1_lt_vbuz2_then_la1
|
|
lda yd
|
|
cmp xd
|
|
bcc b8
|
|
jmp b4
|
|
//SEG51 bitmap_line::@4
|
|
b4:
|
|
//SEG52 [30] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy
|
|
sty bitmap_line_ydxi.y
|
|
//SEG53 [31] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 -- vbuxx=vbuz1
|
|
ldx x1
|
|
//SEG54 [32] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0
|
|
//SEG55 [33] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#2
|
|
//SEG56 [34] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#2
|
|
//SEG57 [35] call bitmap_line_ydxi
|
|
//SEG58 [109] phi from bitmap_line::@4 to bitmap_line_ydxi [phi:bitmap_line::@4->bitmap_line_ydxi]
|
|
bitmap_line_ydxi_from_b4:
|
|
//SEG59 [109] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#0 [phi:bitmap_line::@4->bitmap_line_ydxi#0] -- register_copy
|
|
//SEG60 [109] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#1] -- register_copy
|
|
//SEG61 [109] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#0 [phi:bitmap_line::@4->bitmap_line_ydxi#2] -- register_copy
|
|
//SEG62 [109] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#0 [phi:bitmap_line::@4->bitmap_line_ydxi#3] -- register_copy
|
|
//SEG63 [109] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#4] -- register_copy
|
|
jsr bitmap_line_ydxi
|
|
jmp breturn
|
|
//SEG64 bitmap_line::@return
|
|
breturn:
|
|
//SEG65 [36] return
|
|
rts
|
|
//SEG66 bitmap_line::@8
|
|
b8:
|
|
//SEG67 [37] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 -- vbuxx=vbuz1
|
|
ldx x1
|
|
//SEG68 [38] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy
|
|
sty bitmap_line_xdyi.y
|
|
//SEG69 [39] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0
|
|
//SEG70 [40] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#2
|
|
//SEG71 [41] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#2
|
|
//SEG72 [42] call bitmap_line_xdyi
|
|
//SEG73 [87] phi from bitmap_line::@8 to bitmap_line_xdyi [phi:bitmap_line::@8->bitmap_line_xdyi]
|
|
bitmap_line_xdyi_from_b8:
|
|
//SEG74 [87] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#0 [phi:bitmap_line::@8->bitmap_line_xdyi#0] -- register_copy
|
|
//SEG75 [87] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#1] -- register_copy
|
|
//SEG76 [87] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#0 [phi:bitmap_line::@8->bitmap_line_xdyi#2] -- register_copy
|
|
//SEG77 [87] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#0 [phi:bitmap_line::@8->bitmap_line_xdyi#3] -- register_copy
|
|
//SEG78 [87] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#4] -- register_copy
|
|
jsr bitmap_line_xdyi
|
|
jmp breturn
|
|
//SEG79 bitmap_line::@7
|
|
b7:
|
|
//SEG80 [43] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuyy_minus_vbuz2
|
|
tya
|
|
sec
|
|
sbc y0
|
|
sta yd
|
|
//SEG81 [44] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#2) goto bitmap_line::@9 -- vbuz1_lt_vbuz2_then_la1
|
|
lda yd
|
|
cmp xd
|
|
bcc b9
|
|
jmp b10
|
|
//SEG82 bitmap_line::@10
|
|
b10:
|
|
//SEG83 [45] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2
|
|
lda y0
|
|
sta bitmap_line_ydxd.y
|
|
//SEG84 [46] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 -- vbuxx=vbuz1
|
|
ldx x0
|
|
//SEG85 [47] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy
|
|
sty bitmap_line_ydxd.y1
|
|
//SEG86 [48] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#1
|
|
//SEG87 [49] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#2
|
|
//SEG88 [50] call bitmap_line_ydxd
|
|
//SEG89 [139] phi from bitmap_line::@10 to bitmap_line_ydxd [phi:bitmap_line::@10->bitmap_line_ydxd]
|
|
bitmap_line_ydxd_from_b10:
|
|
//SEG90 [139] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#0 [phi:bitmap_line::@10->bitmap_line_ydxd#0] -- register_copy
|
|
//SEG91 [139] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#1] -- register_copy
|
|
//SEG92 [139] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#0 [phi:bitmap_line::@10->bitmap_line_ydxd#2] -- register_copy
|
|
//SEG93 [139] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#0 [phi:bitmap_line::@10->bitmap_line_ydxd#3] -- register_copy
|
|
//SEG94 [139] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#4] -- register_copy
|
|
jsr bitmap_line_ydxd
|
|
jmp breturn
|
|
//SEG95 bitmap_line::@9
|
|
b9:
|
|
//SEG96 [51] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 -- vbuxx=vbuz1
|
|
ldx x1
|
|
//SEG97 [52] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy
|
|
sty bitmap_line_xdyd.y
|
|
//SEG98 [53] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2
|
|
lda x0
|
|
sta bitmap_line_xdyd.x1
|
|
//SEG99 [54] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#2
|
|
//SEG100 [55] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#1
|
|
//SEG101 [56] call bitmap_line_xdyd
|
|
//SEG102 [124] phi from bitmap_line::@9 to bitmap_line_xdyd [phi:bitmap_line::@9->bitmap_line_xdyd]
|
|
bitmap_line_xdyd_from_b9:
|
|
//SEG103 [124] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#0 [phi:bitmap_line::@9->bitmap_line_xdyd#0] -- register_copy
|
|
//SEG104 [124] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#1] -- register_copy
|
|
//SEG105 [124] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#0 [phi:bitmap_line::@9->bitmap_line_xdyd#2] -- register_copy
|
|
//SEG106 [124] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#0 [phi:bitmap_line::@9->bitmap_line_xdyd#3] -- register_copy
|
|
//SEG107 [124] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#4] -- register_copy
|
|
jsr bitmap_line_xdyd
|
|
jmp breturn
|
|
//SEG108 bitmap_line::@1
|
|
b1:
|
|
//SEG109 [57] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 -- vbuz1=vbuz2_minus_vbuz3
|
|
lda x1
|
|
sec
|
|
sbc x0
|
|
sta xd
|
|
//SEG110 [58] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@11 -- vbuz1_lt_vbuyy_then_la1
|
|
tya
|
|
cmp y0
|
|
beq !+
|
|
bcs b11
|
|
!:
|
|
jmp b5
|
|
//SEG111 bitmap_line::@5
|
|
b5:
|
|
//SEG112 [59] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuyy
|
|
tya
|
|
eor #$ff
|
|
sec
|
|
adc y0
|
|
sta yd
|
|
//SEG113 [60] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#1) goto bitmap_line::@12 -- vbuz1_lt_vbuz2_then_la1
|
|
lda yd
|
|
cmp xd
|
|
bcc b12
|
|
jmp b6
|
|
//SEG114 bitmap_line::@6
|
|
b6:
|
|
//SEG115 [61] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy
|
|
sty bitmap_line_ydxd.y
|
|
//SEG116 [62] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 -- vbuxx=vbuz1
|
|
ldx x1
|
|
//SEG117 [63] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0
|
|
//SEG118 [64] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#10
|
|
//SEG119 [65] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#1
|
|
//SEG120 [66] call bitmap_line_ydxd
|
|
//SEG121 [139] phi from bitmap_line::@6 to bitmap_line_ydxd [phi:bitmap_line::@6->bitmap_line_ydxd]
|
|
bitmap_line_ydxd_from_b6:
|
|
//SEG122 [139] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#1 [phi:bitmap_line::@6->bitmap_line_ydxd#0] -- register_copy
|
|
//SEG123 [139] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#1] -- register_copy
|
|
//SEG124 [139] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#1 [phi:bitmap_line::@6->bitmap_line_ydxd#2] -- register_copy
|
|
//SEG125 [139] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#1 [phi:bitmap_line::@6->bitmap_line_ydxd#3] -- register_copy
|
|
//SEG126 [139] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#4] -- register_copy
|
|
jsr bitmap_line_ydxd
|
|
jmp breturn
|
|
//SEG127 bitmap_line::@12
|
|
b12:
|
|
//SEG128 [67] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 -- vbuxx=vbuz1
|
|
ldx x0
|
|
//SEG129 [68] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0
|
|
//SEG130 [69] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0
|
|
//SEG131 [70] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#1
|
|
//SEG132 [71] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#10
|
|
//SEG133 [72] call bitmap_line_xdyd
|
|
//SEG134 [124] phi from bitmap_line::@12 to bitmap_line_xdyd [phi:bitmap_line::@12->bitmap_line_xdyd]
|
|
bitmap_line_xdyd_from_b12:
|
|
//SEG135 [124] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#1 [phi:bitmap_line::@12->bitmap_line_xdyd#0] -- register_copy
|
|
//SEG136 [124] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#1] -- register_copy
|
|
//SEG137 [124] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#1 [phi:bitmap_line::@12->bitmap_line_xdyd#2] -- register_copy
|
|
//SEG138 [124] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#1 [phi:bitmap_line::@12->bitmap_line_xdyd#3] -- register_copy
|
|
//SEG139 [124] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#4] -- register_copy
|
|
jsr bitmap_line_xdyd
|
|
jmp breturn
|
|
//SEG140 bitmap_line::@11
|
|
b11:
|
|
//SEG141 [73] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuyy_minus_vbuz2
|
|
tya
|
|
sec
|
|
sbc y0
|
|
sta yd
|
|
//SEG142 [74] if((byte) bitmap_line::yd#11<(byte) bitmap_line::xd#1) goto bitmap_line::@13 -- vbuz1_lt_vbuz2_then_la1
|
|
lda yd
|
|
cmp xd
|
|
bcc b13
|
|
jmp b14
|
|
//SEG143 bitmap_line::@14
|
|
b14:
|
|
//SEG144 [75] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2
|
|
lda y0
|
|
sta bitmap_line_ydxi.y
|
|
//SEG145 [76] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 -- vbuxx=vbuz1
|
|
ldx x0
|
|
//SEG146 [77] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy
|
|
sty bitmap_line_ydxi.y1
|
|
//SEG147 [78] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#11
|
|
//SEG148 [79] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#1
|
|
//SEG149 [80] call bitmap_line_ydxi
|
|
//SEG150 [109] phi from bitmap_line::@14 to bitmap_line_ydxi [phi:bitmap_line::@14->bitmap_line_ydxi]
|
|
bitmap_line_ydxi_from_b14:
|
|
//SEG151 [109] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#1 [phi:bitmap_line::@14->bitmap_line_ydxi#0] -- register_copy
|
|
//SEG152 [109] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#1] -- register_copy
|
|
//SEG153 [109] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#1 [phi:bitmap_line::@14->bitmap_line_ydxi#2] -- register_copy
|
|
//SEG154 [109] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#1 [phi:bitmap_line::@14->bitmap_line_ydxi#3] -- register_copy
|
|
//SEG155 [109] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#4] -- register_copy
|
|
jsr bitmap_line_ydxi
|
|
jmp breturn
|
|
//SEG156 bitmap_line::@13
|
|
b13:
|
|
//SEG157 [81] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 -- vbuxx=vbuz1
|
|
ldx x0
|
|
//SEG158 [82] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0
|
|
//SEG159 [83] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2
|
|
lda x1
|
|
sta bitmap_line_xdyi.x1
|
|
//SEG160 [84] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#1
|
|
//SEG161 [85] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11
|
|
//SEG162 [86] call bitmap_line_xdyi
|
|
//SEG163 [87] phi from bitmap_line::@13 to bitmap_line_xdyi [phi:bitmap_line::@13->bitmap_line_xdyi]
|
|
bitmap_line_xdyi_from_b13:
|
|
//SEG164 [87] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#1 [phi:bitmap_line::@13->bitmap_line_xdyi#0] -- register_copy
|
|
//SEG165 [87] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#1] -- register_copy
|
|
//SEG166 [87] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#1 [phi:bitmap_line::@13->bitmap_line_xdyi#2] -- register_copy
|
|
//SEG167 [87] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#1 [phi:bitmap_line::@13->bitmap_line_xdyi#3] -- register_copy
|
|
//SEG168 [87] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#4] -- register_copy
|
|
jsr bitmap_line_xdyi
|
|
jmp breturn
|
|
}
|
|
//SEG169 bitmap_line_xdyi
|
|
// bitmap_line_xdyi(byte register(X) x, byte zeropage(6) y, byte zeropage(5) x1, byte zeropage(4) xd, byte zeropage(3) yd)
|
|
bitmap_line_xdyi: {
|
|
.label _6 = 8
|
|
.label y = 6
|
|
.label x1 = 5
|
|
.label xd = 4
|
|
.label yd = 3
|
|
.label e = 7
|
|
//SEG170 [88] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1
|
|
lda yd
|
|
lsr
|
|
sta e
|
|
//SEG171 [89] phi from bitmap_line_xdyi bitmap_line_xdyi::@2 to bitmap_line_xdyi::@1 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1]
|
|
b1_from_bitmap_line_xdyi:
|
|
b1_from_b2:
|
|
//SEG172 [89] phi (byte) bitmap_line_xdyi::e#3 = (byte) bitmap_line_xdyi::e#0 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#0] -- register_copy
|
|
//SEG173 [89] phi (byte) bitmap_line_xdyi::y#3 = (byte) bitmap_line_xdyi::y#5 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#1] -- register_copy
|
|
//SEG174 [89] phi (byte) bitmap_line_xdyi::x#3 = (byte) bitmap_line_xdyi::x#6 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#2] -- register_copy
|
|
jmp b1
|
|
//SEG175 bitmap_line_xdyi::@1
|
|
b1:
|
|
//SEG176 [90] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3
|
|
//SEG177 [91] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 -- vbuyy=vbuz1
|
|
ldy y
|
|
//SEG178 [92] call bitmap_plot
|
|
//SEG179 [102] phi from bitmap_line_xdyi::@1 to bitmap_plot [phi:bitmap_line_xdyi::@1->bitmap_plot]
|
|
bitmap_plot_from_b1:
|
|
//SEG180 [102] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#0] -- register_copy
|
|
//SEG181 [102] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#1] -- register_copy
|
|
jsr bitmap_plot
|
|
jmp b4
|
|
//SEG182 bitmap_line_xdyi::@4
|
|
b4:
|
|
//SEG183 [93] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
//SEG184 [94] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 -- vbuz1=vbuz1_plus_vbuz2
|
|
lda e
|
|
clc
|
|
adc yd
|
|
sta e
|
|
//SEG185 [95] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 -- vbuz1_ge_vbuz2_then_la1
|
|
lda xd
|
|
cmp e
|
|
bcs b2_from_b4
|
|
jmp b3
|
|
//SEG186 bitmap_line_xdyi::@3
|
|
b3:
|
|
//SEG187 [96] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 -- vbuz1=_inc_vbuz1
|
|
inc y
|
|
//SEG188 [97] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 -- vbuz1=vbuz1_minus_vbuz2
|
|
lda e
|
|
sec
|
|
sbc xd
|
|
sta e
|
|
//SEG189 [98] phi from bitmap_line_xdyi::@3 bitmap_line_xdyi::@4 to bitmap_line_xdyi::@2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2]
|
|
b2_from_b3:
|
|
b2_from_b4:
|
|
//SEG190 [98] phi (byte) bitmap_line_xdyi::e#6 = (byte) bitmap_line_xdyi::e#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#0] -- register_copy
|
|
//SEG191 [98] phi (byte) bitmap_line_xdyi::y#6 = (byte) bitmap_line_xdyi::y#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#1] -- register_copy
|
|
jmp b2
|
|
//SEG192 bitmap_line_xdyi::@2
|
|
b2:
|
|
//SEG193 [99] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_plus_1
|
|
ldy x1
|
|
iny
|
|
sty _6
|
|
//SEG194 [100] if((byte) bitmap_line_xdyi::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 -- vbuxx_neq_vbuz1_then_la1
|
|
cpx _6
|
|
bne b1_from_b2
|
|
jmp breturn
|
|
//SEG195 bitmap_line_xdyi::@return
|
|
breturn:
|
|
//SEG196 [101] return
|
|
rts
|
|
}
|
|
//SEG197 bitmap_plot
|
|
// bitmap_plot(byte register(X) x, byte register(Y) y)
|
|
bitmap_plot: {
|
|
.label _0 = 9
|
|
.label plotter_x = 9
|
|
.label plotter_y = $b
|
|
//SEG198 [103] (word) bitmap_plot::plotter_x#0 ← *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_plot::x#4) -- vwuz1=pbuc1_derefidx_vbuxx_word_pbuc2_derefidx_vbuxx
|
|
lda bitmap_plot_xhi,x
|
|
sta plotter_x+1
|
|
lda bitmap_plot_xlo,x
|
|
sta plotter_x
|
|
//SEG199 [104] (word) bitmap_plot::plotter_y#0 ← *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy
|
|
lda bitmap_plot_yhi,y
|
|
sta plotter_y+1
|
|
lda bitmap_plot_ylo,y
|
|
sta plotter_y
|
|
//SEG200 [105] (word~) bitmap_plot::$0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 -- vwuz1=vwuz1_plus_vwuz2
|
|
lda _0
|
|
clc
|
|
adc plotter_y
|
|
sta _0
|
|
lda _0+1
|
|
adc plotter_y+1
|
|
sta _0+1
|
|
//SEG201 [106] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_plot::x#4) -- vbuaa=_deref_pbuz1_bor_pbuc1_derefidx_vbuxx
|
|
lda bitmap_plot_bit,x
|
|
ldy #0
|
|
ora (_0),y
|
|
//SEG202 [107] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 -- _deref_pbuz1=vbuaa
|
|
ldy #0
|
|
sta (_0),y
|
|
jmp breturn
|
|
//SEG203 bitmap_plot::@return
|
|
breturn:
|
|
//SEG204 [108] return
|
|
rts
|
|
}
|
|
//SEG205 bitmap_line_ydxi
|
|
// bitmap_line_ydxi(byte zeropage(7) y, byte register(X) x, byte zeropage(6) y1, byte zeropage(3) yd, byte zeropage(4) xd)
|
|
bitmap_line_ydxi: {
|
|
.label y = 7
|
|
.label y1 = 6
|
|
.label yd = 3
|
|
.label xd = 4
|
|
.label e = 5
|
|
//SEG206 [110] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1
|
|
lda xd
|
|
lsr
|
|
sta e
|
|
//SEG207 [111] phi from bitmap_line_ydxi bitmap_line_ydxi::@2 to bitmap_line_ydxi::@1 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1]
|
|
b1_from_bitmap_line_ydxi:
|
|
b1_from_b2:
|
|
//SEG208 [111] phi (byte) bitmap_line_ydxi::e#3 = (byte) bitmap_line_ydxi::e#0 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#0] -- register_copy
|
|
//SEG209 [111] phi (byte) bitmap_line_ydxi::y#3 = (byte) bitmap_line_ydxi::y#6 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#1] -- register_copy
|
|
//SEG210 [111] phi (byte) bitmap_line_ydxi::x#3 = (byte) bitmap_line_ydxi::x#5 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#2] -- register_copy
|
|
jmp b1
|
|
//SEG211 bitmap_line_ydxi::@1
|
|
b1:
|
|
//SEG212 [112] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3
|
|
//SEG213 [113] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 -- vbuyy=vbuz1
|
|
ldy y
|
|
//SEG214 [114] call bitmap_plot
|
|
//SEG215 [102] phi from bitmap_line_ydxi::@1 to bitmap_plot [phi:bitmap_line_ydxi::@1->bitmap_plot]
|
|
bitmap_plot_from_b1:
|
|
//SEG216 [102] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#0] -- register_copy
|
|
//SEG217 [102] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#1] -- register_copy
|
|
jsr bitmap_plot
|
|
jmp b4
|
|
//SEG218 bitmap_line_ydxi::@4
|
|
b4:
|
|
//SEG219 [115] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 -- vbuz1=_inc_vbuz1
|
|
inc y
|
|
//SEG220 [116] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 -- vbuz1=vbuz1_plus_vbuz2
|
|
lda e
|
|
clc
|
|
adc xd
|
|
sta e
|
|
//SEG221 [117] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 -- vbuz1_ge_vbuz2_then_la1
|
|
lda yd
|
|
cmp e
|
|
bcs b2_from_b4
|
|
jmp b3
|
|
//SEG222 bitmap_line_ydxi::@3
|
|
b3:
|
|
//SEG223 [118] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
//SEG224 [119] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 -- vbuz1=vbuz1_minus_vbuz2
|
|
lda e
|
|
sec
|
|
sbc yd
|
|
sta e
|
|
//SEG225 [120] phi from bitmap_line_ydxi::@3 bitmap_line_ydxi::@4 to bitmap_line_ydxi::@2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2]
|
|
b2_from_b3:
|
|
b2_from_b4:
|
|
//SEG226 [120] phi (byte) bitmap_line_ydxi::e#6 = (byte) bitmap_line_ydxi::e#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#0] -- register_copy
|
|
//SEG227 [120] phi (byte) bitmap_line_ydxi::x#6 = (byte) bitmap_line_ydxi::x#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#1] -- register_copy
|
|
jmp b2
|
|
//SEG228 bitmap_line_ydxi::@2
|
|
b2:
|
|
//SEG229 [121] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuyy=vbuz1_plus_1
|
|
ldy y1
|
|
iny
|
|
//SEG230 [122] if((byte) bitmap_line_ydxi::y#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1 -- vbuz1_neq_vbuyy_then_la1
|
|
cpy y
|
|
bne b1_from_b2
|
|
jmp breturn
|
|
//SEG231 bitmap_line_ydxi::@return
|
|
breturn:
|
|
//SEG232 [123] return
|
|
rts
|
|
}
|
|
//SEG233 bitmap_line_xdyd
|
|
// bitmap_line_xdyd(byte register(X) x, byte zeropage(6) y, byte zeropage(8) x1, byte zeropage(4) xd, byte zeropage(3) yd)
|
|
bitmap_line_xdyd: {
|
|
.label _6 = 7
|
|
.label y = 6
|
|
.label x1 = 8
|
|
.label xd = 4
|
|
.label yd = 3
|
|
.label e = 5
|
|
//SEG234 [125] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1
|
|
lda yd
|
|
lsr
|
|
sta e
|
|
//SEG235 [126] phi from bitmap_line_xdyd bitmap_line_xdyd::@2 to bitmap_line_xdyd::@1 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1]
|
|
b1_from_bitmap_line_xdyd:
|
|
b1_from_b2:
|
|
//SEG236 [126] phi (byte) bitmap_line_xdyd::e#3 = (byte) bitmap_line_xdyd::e#0 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#0] -- register_copy
|
|
//SEG237 [126] phi (byte) bitmap_line_xdyd::y#3 = (byte) bitmap_line_xdyd::y#5 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#1] -- register_copy
|
|
//SEG238 [126] phi (byte) bitmap_line_xdyd::x#3 = (byte) bitmap_line_xdyd::x#6 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#2] -- register_copy
|
|
jmp b1
|
|
//SEG239 bitmap_line_xdyd::@1
|
|
b1:
|
|
//SEG240 [127] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3
|
|
//SEG241 [128] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 -- vbuyy=vbuz1
|
|
ldy y
|
|
//SEG242 [129] call bitmap_plot
|
|
//SEG243 [102] phi from bitmap_line_xdyd::@1 to bitmap_plot [phi:bitmap_line_xdyd::@1->bitmap_plot]
|
|
bitmap_plot_from_b1:
|
|
//SEG244 [102] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#0] -- register_copy
|
|
//SEG245 [102] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#1] -- register_copy
|
|
jsr bitmap_plot
|
|
jmp b4
|
|
//SEG246 bitmap_line_xdyd::@4
|
|
b4:
|
|
//SEG247 [130] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
//SEG248 [131] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 -- vbuz1=vbuz1_plus_vbuz2
|
|
lda e
|
|
clc
|
|
adc yd
|
|
sta e
|
|
//SEG249 [132] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 -- vbuz1_ge_vbuz2_then_la1
|
|
lda xd
|
|
cmp e
|
|
bcs b2_from_b4
|
|
jmp b3
|
|
//SEG250 bitmap_line_xdyd::@3
|
|
b3:
|
|
//SEG251 [133] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 -- vbuz1=_dec_vbuz1
|
|
dec y
|
|
//SEG252 [134] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 -- vbuz1=vbuz1_minus_vbuz2
|
|
lda e
|
|
sec
|
|
sbc xd
|
|
sta e
|
|
//SEG253 [135] phi from bitmap_line_xdyd::@3 bitmap_line_xdyd::@4 to bitmap_line_xdyd::@2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2]
|
|
b2_from_b3:
|
|
b2_from_b4:
|
|
//SEG254 [135] phi (byte) bitmap_line_xdyd::e#6 = (byte) bitmap_line_xdyd::e#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#0] -- register_copy
|
|
//SEG255 [135] phi (byte) bitmap_line_xdyd::y#6 = (byte) bitmap_line_xdyd::y#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#1] -- register_copy
|
|
jmp b2
|
|
//SEG256 bitmap_line_xdyd::@2
|
|
b2:
|
|
//SEG257 [136] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_plus_1
|
|
ldy x1
|
|
iny
|
|
sty _6
|
|
//SEG258 [137] if((byte) bitmap_line_xdyd::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1 -- vbuxx_neq_vbuz1_then_la1
|
|
cpx _6
|
|
bne b1_from_b2
|
|
jmp breturn
|
|
//SEG259 bitmap_line_xdyd::@return
|
|
breturn:
|
|
//SEG260 [138] return
|
|
rts
|
|
}
|
|
//SEG261 bitmap_line_ydxd
|
|
// bitmap_line_ydxd(byte zeropage(7) y, byte register(X) x, byte zeropage(6) y1, byte zeropage(3) yd, byte zeropage(4) xd)
|
|
bitmap_line_ydxd: {
|
|
.label y = 7
|
|
.label y1 = 6
|
|
.label yd = 3
|
|
.label xd = 4
|
|
.label e = 5
|
|
//SEG262 [140] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1
|
|
lda xd
|
|
lsr
|
|
sta e
|
|
//SEG263 [141] phi from bitmap_line_ydxd bitmap_line_ydxd::@2 to bitmap_line_ydxd::@1 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1]
|
|
b1_from_bitmap_line_ydxd:
|
|
b1_from_b2:
|
|
//SEG264 [141] phi (byte) bitmap_line_ydxd::e#3 = (byte) bitmap_line_ydxd::e#0 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#0] -- register_copy
|
|
//SEG265 [141] phi (byte) bitmap_line_ydxd::y#2 = (byte) bitmap_line_ydxd::y#7 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#1] -- register_copy
|
|
//SEG266 [141] phi (byte) bitmap_line_ydxd::x#3 = (byte) bitmap_line_ydxd::x#5 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#2] -- register_copy
|
|
jmp b1
|
|
//SEG267 bitmap_line_ydxd::@1
|
|
b1:
|
|
//SEG268 [142] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3
|
|
//SEG269 [143] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 -- vbuyy=vbuz1
|
|
ldy y
|
|
//SEG270 [144] call bitmap_plot
|
|
//SEG271 [102] phi from bitmap_line_ydxd::@1 to bitmap_plot [phi:bitmap_line_ydxd::@1->bitmap_plot]
|
|
bitmap_plot_from_b1:
|
|
//SEG272 [102] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#0] -- register_copy
|
|
//SEG273 [102] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#1] -- register_copy
|
|
jsr bitmap_plot
|
|
jmp b4
|
|
//SEG274 bitmap_line_ydxd::@4
|
|
b4:
|
|
//SEG275 [145] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 -- vbuz1=_inc_vbuz1
|
|
inc y
|
|
//SEG276 [146] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 -- vbuz1=vbuz1_plus_vbuz2
|
|
lda e
|
|
clc
|
|
adc xd
|
|
sta e
|
|
//SEG277 [147] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 -- vbuz1_ge_vbuz2_then_la1
|
|
lda yd
|
|
cmp e
|
|
bcs b2_from_b4
|
|
jmp b3
|
|
//SEG278 bitmap_line_ydxd::@3
|
|
b3:
|
|
//SEG279 [148] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 -- vbuxx=_dec_vbuxx
|
|
dex
|
|
//SEG280 [149] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 -- vbuz1=vbuz1_minus_vbuz2
|
|
lda e
|
|
sec
|
|
sbc yd
|
|
sta e
|
|
//SEG281 [150] phi from bitmap_line_ydxd::@3 bitmap_line_ydxd::@4 to bitmap_line_ydxd::@2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2]
|
|
b2_from_b3:
|
|
b2_from_b4:
|
|
//SEG282 [150] phi (byte) bitmap_line_ydxd::e#6 = (byte) bitmap_line_ydxd::e#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#0] -- register_copy
|
|
//SEG283 [150] phi (byte) bitmap_line_ydxd::x#6 = (byte) bitmap_line_ydxd::x#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#1] -- register_copy
|
|
jmp b2
|
|
//SEG284 bitmap_line_ydxd::@2
|
|
b2:
|
|
//SEG285 [151] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuyy=vbuz1_plus_1
|
|
ldy y1
|
|
iny
|
|
//SEG286 [152] if((byte) bitmap_line_ydxd::y#3!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1 -- vbuz1_neq_vbuyy_then_la1
|
|
cpy y
|
|
bne b1_from_b2
|
|
jmp breturn
|
|
//SEG287 bitmap_line_ydxd::@return
|
|
breturn:
|
|
//SEG288 [153] return
|
|
rts
|
|
}
|
|
//SEG289 init_screen
|
|
init_screen: {
|
|
.label c = 9
|
|
//SEG290 [155] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1]
|
|
b1_from_init_screen:
|
|
//SEG291 [155] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen->init_screen::@1#0] -- pbuz1=pbuc1
|
|
lda #<SCREEN
|
|
sta c
|
|
lda #>SCREEN
|
|
sta c+1
|
|
jmp b1
|
|
//SEG292 [155] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1]
|
|
b1_from_b1:
|
|
//SEG293 [155] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy
|
|
jmp b1
|
|
//SEG294 init_screen::@1
|
|
b1:
|
|
//SEG295 [156] *((byte*) init_screen::c#2) ← (byte/signed byte/word/signed word/dword/signed dword) $14 -- _deref_pbuz1=vbuc1
|
|
lda #$14
|
|
ldy #0
|
|
sta (c),y
|
|
//SEG296 [157] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 -- pbuz1=_inc_pbuz1
|
|
inc c
|
|
bne !+
|
|
inc c+1
|
|
!:
|
|
//SEG297 [158] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word/signed word/dword/signed dword) $400) goto init_screen::@1 -- pbuz1_neq_pbuc1_then_la1
|
|
lda c+1
|
|
cmp #>SCREEN+$400
|
|
bne b1_from_b1
|
|
lda c
|
|
cmp #<SCREEN+$400
|
|
bne b1_from_b1
|
|
jmp breturn
|
|
//SEG298 init_screen::@return
|
|
breturn:
|
|
//SEG299 [159] return
|
|
rts
|
|
}
|
|
//SEG300 bitmap_clear
|
|
// Clear all graphics on the bitmap
|
|
bitmap_clear: {
|
|
.label bitmap = 9
|
|
.label y = 2
|
|
.label _3 = 9
|
|
//SEG301 [160] (word~) bitmap_clear::$3 ← *((const byte[$100]) bitmap_plot_xhi#0) w= *((const byte[$100]) bitmap_plot_xlo#0) -- vwuz1=_deref_pbuc1_word__deref_pbuc2
|
|
lda bitmap_plot_xlo
|
|
sta _3
|
|
lda bitmap_plot_xhi
|
|
sta _3+1
|
|
//SEG302 [161] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3
|
|
//SEG303 [162] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1]
|
|
b1_from_bitmap_clear:
|
|
//SEG304 [162] phi (byte) bitmap_clear::y#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_clear->bitmap_clear::@1#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta y
|
|
//SEG305 [162] phi (byte*) bitmap_clear::bitmap#3 = (byte*~) bitmap_clear::bitmap#5 [phi:bitmap_clear->bitmap_clear::@1#1] -- register_copy
|
|
jmp b1
|
|
//SEG306 [162] phi from bitmap_clear::@3 to bitmap_clear::@1 [phi:bitmap_clear::@3->bitmap_clear::@1]
|
|
b1_from_b3:
|
|
//SEG307 [162] phi (byte) bitmap_clear::y#4 = (byte) bitmap_clear::y#1 [phi:bitmap_clear::@3->bitmap_clear::@1#0] -- register_copy
|
|
//SEG308 [162] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@3->bitmap_clear::@1#1] -- register_copy
|
|
jmp b1
|
|
//SEG309 bitmap_clear::@1
|
|
b1:
|
|
//SEG310 [163] phi from bitmap_clear::@1 to bitmap_clear::@2 [phi:bitmap_clear::@1->bitmap_clear::@2]
|
|
b2_from_b1:
|
|
//SEG311 [163] phi (byte) bitmap_clear::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_clear::@1->bitmap_clear::@2#0] -- vbuxx=vbuc1
|
|
ldx #0
|
|
//SEG312 [163] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#3 [phi:bitmap_clear::@1->bitmap_clear::@2#1] -- register_copy
|
|
jmp b2
|
|
//SEG313 [163] phi from bitmap_clear::@2 to bitmap_clear::@2 [phi:bitmap_clear::@2->bitmap_clear::@2]
|
|
b2_from_b2:
|
|
//SEG314 [163] phi (byte) bitmap_clear::x#2 = (byte) bitmap_clear::x#1 [phi:bitmap_clear::@2->bitmap_clear::@2#0] -- register_copy
|
|
//SEG315 [163] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@2->bitmap_clear::@2#1] -- register_copy
|
|
jmp b2
|
|
//SEG316 bitmap_clear::@2
|
|
b2:
|
|
//SEG317 [164] *((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1
|
|
lda #0
|
|
ldy #0
|
|
sta (bitmap),y
|
|
//SEG318 [165] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 -- pbuz1=_inc_pbuz1
|
|
inc bitmap
|
|
bne !+
|
|
inc bitmap+1
|
|
!:
|
|
//SEG319 [166] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
//SEG320 [167] if((byte) bitmap_clear::x#1!=(byte/word/signed word/dword/signed dword) $c8) goto bitmap_clear::@2 -- vbuxx_neq_vbuc1_then_la1
|
|
cpx #$c8
|
|
bne b2_from_b2
|
|
jmp b3
|
|
//SEG321 bitmap_clear::@3
|
|
b3:
|
|
//SEG322 [168] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 -- vbuz1=_inc_vbuz1
|
|
inc y
|
|
//SEG323 [169] if((byte) bitmap_clear::y#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto bitmap_clear::@1 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #$28
|
|
cmp y
|
|
bne b1_from_b3
|
|
jmp breturn
|
|
//SEG324 bitmap_clear::@return
|
|
breturn:
|
|
//SEG325 [170] return
|
|
rts
|
|
}
|
|
//SEG326 bitmap_init
|
|
// Initialize the bitmap plotter tables for a specific bitmap
|
|
bitmap_init: {
|
|
.label _6 = 2
|
|
.label yoffs = 9
|
|
//SEG327 [172] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1]
|
|
b1_from_bitmap_init:
|
|
//SEG328 [172] phi (byte) bitmap_init::bits#3 = (byte/word/signed word/dword/signed dword) $80 [phi:bitmap_init->bitmap_init::@1#0] -- vbuyy=vbuc1
|
|
ldy #$80
|
|
//SEG329 [172] phi (byte) bitmap_init::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init->bitmap_init::@1#1] -- vbuxx=vbuc1
|
|
ldx #0
|
|
jmp b1
|
|
//SEG330 [172] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1]
|
|
b1_from_b2:
|
|
//SEG331 [172] phi (byte) bitmap_init::bits#3 = (byte) bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy
|
|
//SEG332 [172] phi (byte) bitmap_init::x#2 = (byte) bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy
|
|
jmp b1
|
|
//SEG333 bitmap_init::@1
|
|
b1:
|
|
//SEG334 [173] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte/word/signed word/dword/signed dword) $f8 -- vbuaa=vbuxx_band_vbuc1
|
|
txa
|
|
and #$f8
|
|
//SEG335 [174] *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 -- pbuc1_derefidx_vbuxx=vbuaa
|
|
sta bitmap_plot_xlo,x
|
|
//SEG336 [175] *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← >(const byte*) BITMAP#0 -- pbuc1_derefidx_vbuxx=vbuc2
|
|
lda #>BITMAP
|
|
sta bitmap_plot_xhi,x
|
|
//SEG337 [176] *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 -- pbuc1_derefidx_vbuxx=vbuyy
|
|
tya
|
|
sta bitmap_plot_bit,x
|
|
//SEG338 [177] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuyy=vbuyy_ror_1
|
|
tya
|
|
lsr
|
|
tay
|
|
//SEG339 [178] if((byte) bitmap_init::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@6 -- vbuyy_neq_0_then_la1
|
|
cpy #0
|
|
bne b6_from_b1
|
|
//SEG340 [179] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2]
|
|
b2_from_b1:
|
|
//SEG341 [179] phi (byte) bitmap_init::bits#4 = (byte/word/signed word/dword/signed dword) $80 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuyy=vbuc1
|
|
ldy #$80
|
|
jmp b2
|
|
//SEG342 bitmap_init::@2
|
|
b2:
|
|
//SEG343 [180] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
//SEG344 [181] if((byte) bitmap_init::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@1 -- vbuxx_neq_0_then_la1
|
|
cpx #0
|
|
bne b1_from_b2
|
|
//SEG345 [182] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3]
|
|
b3_from_b2:
|
|
//SEG346 [182] phi (byte*) bitmap_init::yoffs#2 = ((byte*))(byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init::@2->bitmap_init::@3#0] -- pbuz1=pbuc1
|
|
lda #<0
|
|
sta yoffs
|
|
lda #>0
|
|
sta yoffs+1
|
|
//SEG347 [182] phi (byte) bitmap_init::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init::@2->bitmap_init::@3#1] -- vbuxx=vbuc1
|
|
ldx #0
|
|
jmp b3
|
|
//SEG348 [182] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3]
|
|
b3_from_b4:
|
|
//SEG349 [182] phi (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy
|
|
//SEG350 [182] phi (byte) bitmap_init::y#2 = (byte) bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy
|
|
jmp b3
|
|
//SEG351 bitmap_init::@3
|
|
b3:
|
|
//SEG352 [183] (byte~) bitmap_init::$6 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuz1=vbuxx_band_vbuc1
|
|
lda #7
|
|
sax _6
|
|
//SEG353 [184] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 -- vbuaa=_lo_pbuz1
|
|
lda yoffs
|
|
//SEG354 [185] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$6 | (byte~) bitmap_init::$7 -- vbuaa=vbuz1_bor_vbuaa
|
|
ora _6
|
|
//SEG355 [186] *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 -- pbuc1_derefidx_vbuxx=vbuaa
|
|
sta bitmap_plot_ylo,x
|
|
//SEG356 [187] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 -- vbuaa=_hi_pbuz1
|
|
lda yoffs+1
|
|
//SEG357 [188] *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 -- pbuc1_derefidx_vbuxx=vbuaa
|
|
sta bitmap_plot_yhi,x
|
|
//SEG358 [189] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuaa=vbuxx_band_vbuc1
|
|
txa
|
|
and #7
|
|
//SEG359 [190] if((byte~) bitmap_init::$10!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto bitmap_init::@4 -- vbuaa_neq_vbuc1_then_la1
|
|
cmp #7
|
|
bne b4_from_b3
|
|
jmp b5
|
|
//SEG360 bitmap_init::@5
|
|
b5:
|
|
//SEG361 [191] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz1_plus_vwuc1
|
|
clc
|
|
lda yoffs
|
|
adc #<$28*8
|
|
sta yoffs
|
|
lda yoffs+1
|
|
adc #>$28*8
|
|
sta yoffs+1
|
|
//SEG362 [192] phi from bitmap_init::@3 bitmap_init::@5 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4]
|
|
b4_from_b3:
|
|
b4_from_b5:
|
|
//SEG363 [192] phi (byte*) bitmap_init::yoffs#4 = (byte*) bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4#0] -- register_copy
|
|
jmp b4
|
|
//SEG364 bitmap_init::@4
|
|
b4:
|
|
//SEG365 [193] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
//SEG366 [194] if((byte) bitmap_init::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@3 -- vbuxx_neq_0_then_la1
|
|
cpx #0
|
|
bne b3_from_b4
|
|
jmp breturn
|
|
//SEG367 bitmap_init::@return
|
|
breturn:
|
|
//SEG368 [195] return
|
|
rts
|
|
//SEG369 [196] phi from bitmap_init::@1 to bitmap_init::@6 [phi:bitmap_init::@1->bitmap_init::@6]
|
|
b6_from_b1:
|
|
jmp b6
|
|
//SEG370 bitmap_init::@6
|
|
b6:
|
|
//SEG371 [179] phi from bitmap_init::@6 to bitmap_init::@2 [phi:bitmap_init::@6->bitmap_init::@2]
|
|
b2_from_b6:
|
|
//SEG372 [179] phi (byte) bitmap_init::bits#4 = (byte) bitmap_init::bits#1 [phi:bitmap_init::@6->bitmap_init::@2#0] -- register_copy
|
|
jmp b2
|
|
}
|
|
// Tables for the plotter - initialized by calling bitmap_draw_init();
|
|
bitmap_plot_xlo: .fill $100, 0
|
|
bitmap_plot_xhi: .fill $100, 0
|
|
bitmap_plot_ylo: .fill $100, 0
|
|
bitmap_plot_yhi: .fill $100, 0
|
|
bitmap_plot_bit: .fill $100, 0
|
|
lines_x: .byte $3c, $50, $6e, $50, $3c, $28, $a, $28, $3c
|
|
lines_y: .byte $a, $28, $3c, $50, $6e, $50, $3c, $28, $a
|
|
|
|
ASSEMBLER OPTIMIZATIONS
|
|
Removing instruction jmp b1
|
|
Removing instruction jmp bend
|
|
Removing instruction jmp b2
|
|
Removing instruction jmp b3
|
|
Removing instruction jmp b1
|
|
Removing instruction jmp b1
|
|
Removing instruction jmp b2
|
|
Removing instruction jmp breturn
|
|
Removing instruction jmp b2
|
|
Removing instruction jmp b3
|
|
Removing instruction jmp b4
|
|
Removing instruction jmp breturn
|
|
Removing instruction jmp b10
|
|
Removing instruction jmp b5
|
|
Removing instruction jmp b6
|
|
Removing instruction jmp b14
|
|
Removing instruction jmp b1
|
|
Removing instruction jmp b4
|
|
Removing instruction jmp b3
|
|
Removing instruction jmp b2
|
|
Removing instruction jmp breturn
|
|
Removing instruction jmp breturn
|
|
Removing instruction jmp b1
|
|
Removing instruction jmp b4
|
|
Removing instruction jmp b3
|
|
Removing instruction jmp b2
|
|
Removing instruction jmp breturn
|
|
Removing instruction jmp b1
|
|
Removing instruction jmp b4
|
|
Removing instruction jmp b3
|
|
Removing instruction jmp b2
|
|
Removing instruction jmp breturn
|
|
Removing instruction jmp b1
|
|
Removing instruction jmp b4
|
|
Removing instruction jmp b3
|
|
Removing instruction jmp b2
|
|
Removing instruction jmp breturn
|
|
Removing instruction jmp b1
|
|
Removing instruction jmp breturn
|
|
Removing instruction jmp b1
|
|
Removing instruction jmp b2
|
|
Removing instruction jmp b3
|
|
Removing instruction jmp breturn
|
|
Removing instruction jmp b1
|
|
Removing instruction jmp b2
|
|
Removing instruction jmp b3
|
|
Removing instruction jmp b5
|
|
Removing instruction jmp b4
|
|
Removing instruction jmp breturn
|
|
Removing instruction jmp b6
|
|
Succesful ASM optimization Pass5NextJumpElimination
|
|
Removing instruction lda #0
|
|
Removing instruction ldy l
|
|
Removing instruction ldy l
|
|
Removing instruction lda yd
|
|
Removing instruction lda yd
|
|
Removing instruction lda yd
|
|
Removing instruction lda yd
|
|
Removing instruction ldy #0
|
|
Replacing instruction ldy #0 with TAY
|
|
Removing instruction lda #>0
|
|
Replacing instruction ldx #0 with TAX
|
|
Succesful ASM optimization Pass5UnnecesaryLoadElimination
|
|
Replacing label b1_from_b1 with b1
|
|
Replacing label b1_from_b2 with b1
|
|
Replacing label b2_from_b4 with b2
|
|
Replacing label b1_from_b2 with b1
|
|
Replacing label b2_from_b4 with b2
|
|
Replacing label b1_from_b2 with b1
|
|
Replacing label b2_from_b4 with b2
|
|
Replacing label b1_from_b2 with b1
|
|
Replacing label b2_from_b4 with b2
|
|
Replacing label b1_from_b2 with b1
|
|
Replacing label b1_from_b1 with b1
|
|
Replacing label b1_from_b1 with b1
|
|
Replacing label b2_from_b2 with b2
|
|
Replacing label b1_from_b3 with b1
|
|
Replacing label b6_from_b1 with b6
|
|
Replacing label b1_from_b2 with b1
|
|
Replacing label b4_from_b3 with b4
|
|
Replacing label b3_from_b4 with b3
|
|
Removing instruction b1_from_bbegin:
|
|
Removing instruction b1:
|
|
Removing instruction bend_from_b1:
|
|
Removing instruction b2_from_main:
|
|
Removing instruction b3_from_b2:
|
|
Removing instruction init_screen_from_b3:
|
|
Removing instruction b1_from_b1:
|
|
Removing instruction b1_from_b3:
|
|
Removing instruction lines_from_b1:
|
|
Removing instruction b1_from_b2:
|
|
Removing instruction b1_from_bitmap_line_xdyi:
|
|
Removing instruction b1_from_b2:
|
|
Removing instruction b2_from_b3:
|
|
Removing instruction b2_from_b4:
|
|
Removing instruction b1_from_bitmap_line_ydxi:
|
|
Removing instruction b1_from_b2:
|
|
Removing instruction b2_from_b3:
|
|
Removing instruction b2_from_b4:
|
|
Removing instruction b1_from_bitmap_line_xdyd:
|
|
Removing instruction b1_from_b2:
|
|
Removing instruction b2_from_b3:
|
|
Removing instruction b2_from_b4:
|
|
Removing instruction b1_from_bitmap_line_ydxd:
|
|
Removing instruction b1_from_b2:
|
|
Removing instruction b2_from_b3:
|
|
Removing instruction b2_from_b4:
|
|
Removing instruction b1_from_b1:
|
|
Removing instruction b1_from_b3:
|
|
Removing instruction b2_from_b1:
|
|
Removing instruction b2_from_b2:
|
|
Removing instruction b1_from_b2:
|
|
Removing instruction b3_from_b4:
|
|
Removing instruction b4_from_b3:
|
|
Removing instruction b4_from_b5:
|
|
Removing instruction b6_from_b1:
|
|
Removing instruction b2_from_b6:
|
|
Succesful ASM optimization Pass5RedundantLabelElimination
|
|
Removing instruction bend:
|
|
Removing instruction bitmap_init_from_main:
|
|
Removing instruction b2:
|
|
Removing instruction b3:
|
|
Removing instruction b1_from_lines:
|
|
Removing instruction b2:
|
|
Removing instruction breturn:
|
|
Removing instruction b2:
|
|
Removing instruction b3:
|
|
Removing instruction b4:
|
|
Removing instruction bitmap_line_ydxi_from_b4:
|
|
Removing instruction bitmap_line_xdyi_from_b8:
|
|
Removing instruction b10:
|
|
Removing instruction bitmap_line_ydxd_from_b10:
|
|
Removing instruction bitmap_line_xdyd_from_b9:
|
|
Removing instruction b5:
|
|
Removing instruction b6:
|
|
Removing instruction bitmap_line_ydxd_from_b6:
|
|
Removing instruction bitmap_line_xdyd_from_b12:
|
|
Removing instruction b14:
|
|
Removing instruction bitmap_line_ydxi_from_b14:
|
|
Removing instruction bitmap_line_xdyi_from_b13:
|
|
Removing instruction bitmap_plot_from_b1:
|
|
Removing instruction b4:
|
|
Removing instruction b3:
|
|
Removing instruction breturn:
|
|
Removing instruction breturn:
|
|
Removing instruction bitmap_plot_from_b1:
|
|
Removing instruction b4:
|
|
Removing instruction b3:
|
|
Removing instruction breturn:
|
|
Removing instruction bitmap_plot_from_b1:
|
|
Removing instruction b4:
|
|
Removing instruction b3:
|
|
Removing instruction breturn:
|
|
Removing instruction bitmap_plot_from_b1:
|
|
Removing instruction b4:
|
|
Removing instruction b3:
|
|
Removing instruction breturn:
|
|
Removing instruction b1_from_init_screen:
|
|
Removing instruction breturn:
|
|
Removing instruction b1_from_bitmap_clear:
|
|
Removing instruction b3:
|
|
Removing instruction breturn:
|
|
Removing instruction b1_from_bitmap_init:
|
|
Removing instruction b2_from_b1:
|
|
Removing instruction b3_from_b2:
|
|
Removing instruction b5:
|
|
Removing instruction breturn:
|
|
Succesful ASM optimization Pass5UnusedLabelElimination
|
|
Updating BasicUpstart to call main directly
|
|
Removing instruction jsr main
|
|
Succesful ASM optimization Pass5SkipBegin
|
|
Replacing jump to rts with rts in jmp breturn
|
|
Replacing jump to rts with rts in jmp breturn
|
|
Replacing jump to rts with rts in jmp breturn
|
|
Replacing jump to rts with rts in jmp breturn
|
|
Replacing jump to rts with rts in jmp breturn
|
|
Replacing jump to rts with rts in jmp breturn
|
|
Replacing jump to rts with rts in jmp breturn
|
|
Skipping double jump to b2 in bne b6
|
|
Succesful ASM optimization Pass5DoubleJumpElimination
|
|
Removing instruction jmp b1
|
|
Removing instruction jmp b1
|
|
Removing instruction jmp b1
|
|
Removing instruction jmp b2
|
|
Removing instruction jmp b1
|
|
Removing instruction jmp b3
|
|
Succesful ASM optimization Pass5NextJumpElimination
|
|
Removing instruction lda x0
|
|
Succesful ASM optimization Pass5UnnecesaryLoadElimination
|
|
Removing instruction bbegin:
|
|
Removing instruction breturn:
|
|
Removing instruction b6:
|
|
Succesful ASM optimization Pass5UnusedLabelElimination
|
|
Removing unreachable instruction jmp b2
|
|
Succesful ASM optimization Pass5UnreachableCodeElimination
|
|
|
|
FINAL SYMBOL TABLE
|
|
(label) @1
|
|
(label) @begin
|
|
(label) @end
|
|
(byte*) BGCOL
|
|
(const byte*) BGCOL#0 BGCOL = ((byte*))(word/dword/signed dword) $d021
|
|
(byte*) BITMAP
|
|
(const byte*) BITMAP#0 BITMAP = ((byte*))(word/signed word/dword/signed dword) $2000
|
|
(byte*) BORDERCOL
|
|
(const byte*) BORDERCOL#0 BORDERCOL = ((byte*))(word/dword/signed dword) $d020
|
|
(byte*) D011
|
|
(const byte*) D011#0 D011 = ((byte*))(word/dword/signed dword) $d011
|
|
(byte*) SCREEN
|
|
(const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) $400
|
|
(byte) VIC_BMM
|
|
(const byte) VIC_BMM#0 VIC_BMM = (byte/signed byte/word/signed word/dword/signed dword) $20
|
|
(byte) VIC_DEN
|
|
(const byte) VIC_DEN#0 VIC_DEN = (byte/signed byte/word/signed word/dword/signed dword) $10
|
|
(byte*) VIC_MEMORY
|
|
(const byte*) VIC_MEMORY#0 VIC_MEMORY = ((byte*))(word/dword/signed dword) $d018
|
|
(byte) VIC_RSEL
|
|
(const byte) VIC_RSEL#0 VIC_RSEL = (byte/signed byte/word/signed word/dword/signed dword) 8
|
|
(void()) bitmap_clear()
|
|
(word~) bitmap_clear::$3 $3 zp ZP_WORD:9 2.0
|
|
(label) bitmap_clear::@1
|
|
(label) bitmap_clear::@2
|
|
(label) bitmap_clear::@3
|
|
(label) bitmap_clear::@return
|
|
(byte*) bitmap_clear::bitmap
|
|
(byte*) bitmap_clear::bitmap#1 bitmap zp ZP_WORD:9 42.599999999999994
|
|
(byte*) bitmap_clear::bitmap#2 bitmap zp ZP_WORD:9 157.0
|
|
(byte*) bitmap_clear::bitmap#3 bitmap zp ZP_WORD:9 24.0
|
|
(byte*~) bitmap_clear::bitmap#5 bitmap zp ZP_WORD:9 4.0
|
|
(byte) bitmap_clear::x
|
|
(byte) bitmap_clear::x#1 reg byte x 151.5
|
|
(byte) bitmap_clear::x#2 reg byte x 67.33333333333333
|
|
(byte) bitmap_clear::y
|
|
(byte) bitmap_clear::y#1 y zp ZP_BYTE:2 16.5
|
|
(byte) bitmap_clear::y#4 y zp ZP_BYTE:2 3.6666666666666665
|
|
(void()) bitmap_init((byte*) bitmap_init::bitmap)
|
|
(byte~) bitmap_init::$0 reg byte a 22.0
|
|
(byte~) bitmap_init::$10 reg byte a 22.0
|
|
(byte~) bitmap_init::$6 $6 zp ZP_BYTE:2 11.0
|
|
(byte~) bitmap_init::$7 reg byte a 22.0
|
|
(byte~) bitmap_init::$8 reg byte a 22.0
|
|
(byte~) bitmap_init::$9 reg byte a 22.0
|
|
(label) bitmap_init::@1
|
|
(label) bitmap_init::@2
|
|
(label) bitmap_init::@3
|
|
(label) bitmap_init::@4
|
|
(label) bitmap_init::@5
|
|
(label) bitmap_init::@6
|
|
(label) bitmap_init::@return
|
|
(byte*) bitmap_init::bitmap
|
|
(byte) bitmap_init::bits
|
|
(byte) bitmap_init::bits#1 reg byte y 11.0
|
|
(byte) bitmap_init::bits#3 reg byte y 6.6000000000000005
|
|
(byte) bitmap_init::bits#4 reg byte y 7.333333333333333
|
|
(byte) bitmap_init::x
|
|
(byte) bitmap_init::x#1 reg byte x 16.5
|
|
(byte) bitmap_init::x#2 reg byte x 7.333333333333334
|
|
(byte) bitmap_init::y
|
|
(byte) bitmap_init::y#1 reg byte x 16.5
|
|
(byte) bitmap_init::y#2 reg byte x 6.0
|
|
(byte*) bitmap_init::yoffs
|
|
(byte*) bitmap_init::yoffs#1 yoffs zp ZP_WORD:9 22.0
|
|
(byte*) bitmap_init::yoffs#2 yoffs zp ZP_WORD:9 6.111111111111112
|
|
(byte*) bitmap_init::yoffs#4 yoffs zp ZP_WORD:9 11.0
|
|
(void()) bitmap_line((byte) bitmap_line::x0 , (byte) bitmap_line::x1 , (byte) bitmap_line::y0 , (byte) bitmap_line::y1)
|
|
(label) bitmap_line::@1
|
|
(label) bitmap_line::@10
|
|
(label) bitmap_line::@11
|
|
(label) bitmap_line::@12
|
|
(label) bitmap_line::@13
|
|
(label) bitmap_line::@14
|
|
(label) bitmap_line::@2
|
|
(label) bitmap_line::@3
|
|
(label) bitmap_line::@4
|
|
(label) bitmap_line::@5
|
|
(label) bitmap_line::@6
|
|
(label) bitmap_line::@7
|
|
(label) bitmap_line::@8
|
|
(label) bitmap_line::@9
|
|
(label) bitmap_line::@return
|
|
(byte) bitmap_line::x0
|
|
(byte) bitmap_line::x0#0 x0 zp ZP_BYTE:5 5.173913043478264
|
|
(byte) bitmap_line::x1
|
|
(byte) bitmap_line::x1#0 x1 zp ZP_BYTE:8 5.409090909090908
|
|
(byte) bitmap_line::xd
|
|
(byte) bitmap_line::xd#1 xd zp ZP_BYTE:4 0.7
|
|
(byte) bitmap_line::xd#2 xd zp ZP_BYTE:4 0.7
|
|
(byte) bitmap_line::y0
|
|
(byte) bitmap_line::y0#0 y0 zp ZP_BYTE:6 5.952380952380948
|
|
(byte) bitmap_line::y1
|
|
(byte) bitmap_line::y1#0 reg byte y 6.249999999999996
|
|
(byte) bitmap_line::yd
|
|
(byte) bitmap_line::yd#1 yd zp ZP_BYTE:3 0.8888888888888888
|
|
(byte) bitmap_line::yd#10 yd zp ZP_BYTE:3 0.8888888888888888
|
|
(byte) bitmap_line::yd#11 yd zp ZP_BYTE:3 0.8888888888888888
|
|
(byte) bitmap_line::yd#2 yd zp ZP_BYTE:3 0.8888888888888888
|
|
(void()) bitmap_line_xdyd((byte) bitmap_line_xdyd::x , (byte) bitmap_line_xdyd::y , (byte) bitmap_line_xdyd::x1 , (byte) bitmap_line_xdyd::xd , (byte) bitmap_line_xdyd::yd)
|
|
(byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6 $6 zp ZP_BYTE:7 2002.0
|
|
(label) bitmap_line_xdyd::@1
|
|
(label) bitmap_line_xdyd::@2
|
|
(label) bitmap_line_xdyd::@3
|
|
(label) bitmap_line_xdyd::@4
|
|
(label) bitmap_line_xdyd::@return
|
|
(byte) bitmap_line_xdyd::e
|
|
(byte) bitmap_line_xdyd::e#0 e zp ZP_BYTE:5 4.0
|
|
(byte) bitmap_line_xdyd::e#1 e zp ZP_BYTE:5 1334.6666666666667
|
|
(byte) bitmap_line_xdyd::e#2 e zp ZP_BYTE:5 2002.0
|
|
(byte) bitmap_line_xdyd::e#3 e zp ZP_BYTE:5 400.79999999999995
|
|
(byte) bitmap_line_xdyd::e#6 e zp ZP_BYTE:5 1001.0
|
|
(byte) bitmap_line_xdyd::x
|
|
(byte) bitmap_line_xdyd::x#0 reg byte x 0.8
|
|
(byte) bitmap_line_xdyd::x#1 reg byte x 0.8
|
|
(byte) bitmap_line_xdyd::x#2 reg byte x 375.375
|
|
(byte) bitmap_line_xdyd::x#3 reg byte x 751.25
|
|
(byte) bitmap_line_xdyd::x#6 reg byte x 3.0
|
|
(byte) bitmap_line_xdyd::x1
|
|
(byte) bitmap_line_xdyd::x1#0 x1 zp ZP_BYTE:8 1.3333333333333333
|
|
(byte) bitmap_line_xdyd::x1#1 x1 zp ZP_BYTE:8 1.3333333333333333
|
|
(byte) bitmap_line_xdyd::x1#6 x1 zp ZP_BYTE:8 71.78571428571429
|
|
(byte) bitmap_line_xdyd::xd
|
|
(byte) bitmap_line_xdyd::xd#0 xd zp ZP_BYTE:4 2.0
|
|
(byte) bitmap_line_xdyd::xd#1 xd zp ZP_BYTE:4 2.0
|
|
(byte) bitmap_line_xdyd::xd#5 xd zp ZP_BYTE:4 143.28571428571428
|
|
(byte) bitmap_line_xdyd::y
|
|
(byte) bitmap_line_xdyd::y#0 y zp ZP_BYTE:6 1.0
|
|
(byte) bitmap_line_xdyd::y#1 y zp ZP_BYTE:6 1.0
|
|
(byte) bitmap_line_xdyd::y#2 y zp ZP_BYTE:6 1001.0
|
|
(byte) bitmap_line_xdyd::y#3 y zp ZP_BYTE:6 572.2857142857142
|
|
(byte) bitmap_line_xdyd::y#5 y zp ZP_BYTE:6 3.0
|
|
(byte) bitmap_line_xdyd::y#6 y zp ZP_BYTE:6 1001.0
|
|
(byte) bitmap_line_xdyd::yd
|
|
(byte) bitmap_line_xdyd::yd#0 yd zp ZP_BYTE:3 4.0
|
|
(byte) bitmap_line_xdyd::yd#1 yd zp ZP_BYTE:3 4.0
|
|
(byte) bitmap_line_xdyd::yd#2 yd zp ZP_BYTE:3 71.92857142857143
|
|
(void()) bitmap_line_xdyi((byte) bitmap_line_xdyi::x , (byte) bitmap_line_xdyi::y , (byte) bitmap_line_xdyi::x1 , (byte) bitmap_line_xdyi::xd , (byte) bitmap_line_xdyi::yd)
|
|
(byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6 $6 zp ZP_BYTE:8 2002.0
|
|
(label) bitmap_line_xdyi::@1
|
|
(label) bitmap_line_xdyi::@2
|
|
(label) bitmap_line_xdyi::@3
|
|
(label) bitmap_line_xdyi::@4
|
|
(label) bitmap_line_xdyi::@return
|
|
(byte) bitmap_line_xdyi::e
|
|
(byte) bitmap_line_xdyi::e#0 e zp ZP_BYTE:7 4.0
|
|
(byte) bitmap_line_xdyi::e#1 e zp ZP_BYTE:7 1334.6666666666667
|
|
(byte) bitmap_line_xdyi::e#2 e zp ZP_BYTE:7 2002.0
|
|
(byte) bitmap_line_xdyi::e#3 e zp ZP_BYTE:7 400.79999999999995
|
|
(byte) bitmap_line_xdyi::e#6 e zp ZP_BYTE:7 1001.0
|
|
(byte) bitmap_line_xdyi::x
|
|
(byte) bitmap_line_xdyi::x#0 reg byte x 0.8
|
|
(byte) bitmap_line_xdyi::x#1 reg byte x 0.8
|
|
(byte) bitmap_line_xdyi::x#2 reg byte x 375.375
|
|
(byte) bitmap_line_xdyi::x#3 reg byte x 751.25
|
|
(byte) bitmap_line_xdyi::x#6 reg byte x 3.0
|
|
(byte) bitmap_line_xdyi::x1
|
|
(byte) bitmap_line_xdyi::x1#0 x1 zp ZP_BYTE:5 1.3333333333333333
|
|
(byte) bitmap_line_xdyi::x1#1 x1 zp ZP_BYTE:5 1.3333333333333333
|
|
(byte) bitmap_line_xdyi::x1#6 x1 zp ZP_BYTE:5 71.78571428571429
|
|
(byte) bitmap_line_xdyi::xd
|
|
(byte) bitmap_line_xdyi::xd#0 xd zp ZP_BYTE:4 2.0
|
|
(byte) bitmap_line_xdyi::xd#1 xd zp ZP_BYTE:4 2.0
|
|
(byte) bitmap_line_xdyi::xd#5 xd zp ZP_BYTE:4 143.28571428571428
|
|
(byte) bitmap_line_xdyi::y
|
|
(byte) bitmap_line_xdyi::y#0 y zp ZP_BYTE:6 1.0
|
|
(byte) bitmap_line_xdyi::y#1 y zp ZP_BYTE:6 1.0
|
|
(byte) bitmap_line_xdyi::y#2 y zp ZP_BYTE:6 1001.0
|
|
(byte) bitmap_line_xdyi::y#3 y zp ZP_BYTE:6 572.2857142857142
|
|
(byte) bitmap_line_xdyi::y#5 y zp ZP_BYTE:6 3.0
|
|
(byte) bitmap_line_xdyi::y#6 y zp ZP_BYTE:6 1001.0
|
|
(byte) bitmap_line_xdyi::yd
|
|
(byte) bitmap_line_xdyi::yd#0 yd zp ZP_BYTE:3 4.0
|
|
(byte) bitmap_line_xdyi::yd#1 yd zp ZP_BYTE:3 4.0
|
|
(byte) bitmap_line_xdyi::yd#2 yd zp ZP_BYTE:3 71.92857142857143
|
|
(void()) bitmap_line_ydxd((byte) bitmap_line_ydxd::y , (byte) bitmap_line_ydxd::x , (byte) bitmap_line_ydxd::y1 , (byte) bitmap_line_ydxd::yd , (byte) bitmap_line_ydxd::xd)
|
|
(byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6 reg byte y 2002.0
|
|
(label) bitmap_line_ydxd::@1
|
|
(label) bitmap_line_ydxd::@2
|
|
(label) bitmap_line_ydxd::@3
|
|
(label) bitmap_line_ydxd::@4
|
|
(label) bitmap_line_ydxd::@return
|
|
(byte) bitmap_line_ydxd::e
|
|
(byte) bitmap_line_ydxd::e#0 e zp ZP_BYTE:5 4.0
|
|
(byte) bitmap_line_ydxd::e#1 e zp ZP_BYTE:5 1334.6666666666667
|
|
(byte) bitmap_line_ydxd::e#2 e zp ZP_BYTE:5 2002.0
|
|
(byte) bitmap_line_ydxd::e#3 e zp ZP_BYTE:5 400.79999999999995
|
|
(byte) bitmap_line_ydxd::e#6 e zp ZP_BYTE:5 1001.0
|
|
(byte) bitmap_line_ydxd::x
|
|
(byte) bitmap_line_ydxd::x#0 reg byte x 1.0
|
|
(byte) bitmap_line_ydxd::x#1 reg byte x 1.0
|
|
(byte) bitmap_line_ydxd::x#2 reg byte x 1001.0
|
|
(byte) bitmap_line_ydxd::x#3 reg byte x 572.2857142857142
|
|
(byte) bitmap_line_ydxd::x#5 reg byte x 3.0
|
|
(byte) bitmap_line_ydxd::x#6 reg byte x 1001.0
|
|
(byte) bitmap_line_ydxd::xd
|
|
(byte) bitmap_line_ydxd::xd#0 xd zp ZP_BYTE:4 4.0
|
|
(byte) bitmap_line_ydxd::xd#1 xd zp ZP_BYTE:4 4.0
|
|
(byte) bitmap_line_ydxd::xd#2 xd zp ZP_BYTE:4 71.92857142857143
|
|
(byte) bitmap_line_ydxd::y
|
|
(byte) bitmap_line_ydxd::y#0 y zp ZP_BYTE:7 0.8
|
|
(byte) bitmap_line_ydxd::y#1 y zp ZP_BYTE:7 0.8
|
|
(byte) bitmap_line_ydxd::y#2 y zp ZP_BYTE:7 751.25
|
|
(byte) bitmap_line_ydxd::y#3 y zp ZP_BYTE:7 375.375
|
|
(byte) bitmap_line_ydxd::y#7 y zp ZP_BYTE:7 3.0
|
|
(byte) bitmap_line_ydxd::y1
|
|
(byte) bitmap_line_ydxd::y1#0 y1 zp ZP_BYTE:6 1.3333333333333333
|
|
(byte) bitmap_line_ydxd::y1#1 y1 zp ZP_BYTE:6 1.3333333333333333
|
|
(byte) bitmap_line_ydxd::y1#6 y1 zp ZP_BYTE:6 71.78571428571429
|
|
(byte) bitmap_line_ydxd::yd
|
|
(byte) bitmap_line_ydxd::yd#0 yd zp ZP_BYTE:3 2.0
|
|
(byte) bitmap_line_ydxd::yd#1 yd zp ZP_BYTE:3 2.0
|
|
(byte) bitmap_line_ydxd::yd#5 yd zp ZP_BYTE:3 143.28571428571428
|
|
(void()) bitmap_line_ydxi((byte) bitmap_line_ydxi::y , (byte) bitmap_line_ydxi::x , (byte) bitmap_line_ydxi::y1 , (byte) bitmap_line_ydxi::yd , (byte) bitmap_line_ydxi::xd)
|
|
(byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6 reg byte y 2002.0
|
|
(label) bitmap_line_ydxi::@1
|
|
(label) bitmap_line_ydxi::@2
|
|
(label) bitmap_line_ydxi::@3
|
|
(label) bitmap_line_ydxi::@4
|
|
(label) bitmap_line_ydxi::@return
|
|
(byte) bitmap_line_ydxi::e
|
|
(byte) bitmap_line_ydxi::e#0 e zp ZP_BYTE:5 4.0
|
|
(byte) bitmap_line_ydxi::e#1 e zp ZP_BYTE:5 1334.6666666666667
|
|
(byte) bitmap_line_ydxi::e#2 e zp ZP_BYTE:5 2002.0
|
|
(byte) bitmap_line_ydxi::e#3 e zp ZP_BYTE:5 400.79999999999995
|
|
(byte) bitmap_line_ydxi::e#6 e zp ZP_BYTE:5 1001.0
|
|
(byte) bitmap_line_ydxi::x
|
|
(byte) bitmap_line_ydxi::x#0 reg byte x 1.0
|
|
(byte) bitmap_line_ydxi::x#1 reg byte x 1.0
|
|
(byte) bitmap_line_ydxi::x#2 reg byte x 1001.0
|
|
(byte) bitmap_line_ydxi::x#3 reg byte x 572.2857142857142
|
|
(byte) bitmap_line_ydxi::x#5 reg byte x 3.0
|
|
(byte) bitmap_line_ydxi::x#6 reg byte x 1001.0
|
|
(byte) bitmap_line_ydxi::xd
|
|
(byte) bitmap_line_ydxi::xd#0 xd zp ZP_BYTE:4 4.0
|
|
(byte) bitmap_line_ydxi::xd#1 xd zp ZP_BYTE:4 4.0
|
|
(byte) bitmap_line_ydxi::xd#2 xd zp ZP_BYTE:4 71.92857142857143
|
|
(byte) bitmap_line_ydxi::y
|
|
(byte) bitmap_line_ydxi::y#0 y zp ZP_BYTE:7 0.8
|
|
(byte) bitmap_line_ydxi::y#1 y zp ZP_BYTE:7 0.8
|
|
(byte) bitmap_line_ydxi::y#2 y zp ZP_BYTE:7 375.375
|
|
(byte) bitmap_line_ydxi::y#3 y zp ZP_BYTE:7 751.25
|
|
(byte) bitmap_line_ydxi::y#6 y zp ZP_BYTE:7 3.0
|
|
(byte) bitmap_line_ydxi::y1
|
|
(byte) bitmap_line_ydxi::y1#0 y1 zp ZP_BYTE:6 1.3333333333333333
|
|
(byte) bitmap_line_ydxi::y1#1 y1 zp ZP_BYTE:6 1.3333333333333333
|
|
(byte) bitmap_line_ydxi::y1#6 y1 zp ZP_BYTE:6 71.78571428571429
|
|
(byte) bitmap_line_ydxi::yd
|
|
(byte) bitmap_line_ydxi::yd#0 yd zp ZP_BYTE:3 2.0
|
|
(byte) bitmap_line_ydxi::yd#1 yd zp ZP_BYTE:3 2.0
|
|
(byte) bitmap_line_ydxi::yd#5 yd zp ZP_BYTE:3 143.28571428571428
|
|
(void()) bitmap_plot((byte) bitmap_plot::x , (byte) bitmap_plot::y)
|
|
(word~) bitmap_plot::$0 $0 zp ZP_WORD:9 1.0
|
|
(byte~) bitmap_plot::$1 reg byte a 4.0
|
|
(label) bitmap_plot::@return
|
|
(byte*) bitmap_plot::plotter
|
|
(word) bitmap_plot::plotter_x
|
|
(word) bitmap_plot::plotter_x#0 plotter_x zp ZP_WORD:9 2.0
|
|
(word) bitmap_plot::plotter_y
|
|
(word) bitmap_plot::plotter_y#0 plotter_y zp ZP_WORD:11 4.0
|
|
(byte) bitmap_plot::x
|
|
(byte) bitmap_plot::x#0 reg byte x 1001.0
|
|
(byte) bitmap_plot::x#1 reg byte x 1001.0
|
|
(byte) bitmap_plot::x#2 reg byte x 1001.0
|
|
(byte) bitmap_plot::x#3 reg byte x 1001.0
|
|
(byte) bitmap_plot::x#4 reg byte x 1002.5
|
|
(byte) bitmap_plot::y
|
|
(byte) bitmap_plot::y#0 reg byte y 2002.0
|
|
(byte) bitmap_plot::y#1 reg byte y 2002.0
|
|
(byte) bitmap_plot::y#2 reg byte y 2002.0
|
|
(byte) bitmap_plot::y#3 reg byte y 2002.0
|
|
(byte) bitmap_plot::y#4 reg byte y 2004.0
|
|
(byte[$100]) bitmap_plot_bit
|
|
(const byte[$100]) bitmap_plot_bit#0 bitmap_plot_bit = { fill( $100, 0) }
|
|
(byte[$100]) bitmap_plot_xhi
|
|
(const byte[$100]) bitmap_plot_xhi#0 bitmap_plot_xhi = { fill( $100, 0) }
|
|
(byte[$100]) bitmap_plot_xlo
|
|
(const byte[$100]) bitmap_plot_xlo#0 bitmap_plot_xlo = { fill( $100, 0) }
|
|
(byte[$100]) bitmap_plot_yhi
|
|
(const byte[$100]) bitmap_plot_yhi#0 bitmap_plot_yhi = { fill( $100, 0) }
|
|
(byte[$100]) bitmap_plot_ylo
|
|
(const byte[$100]) bitmap_plot_ylo#0 bitmap_plot_ylo = { fill( $100, 0) }
|
|
(void()) init_screen()
|
|
(label) init_screen::@1
|
|
(label) init_screen::@return
|
|
(byte*) init_screen::c
|
|
(byte*) init_screen::c#1 c zp ZP_WORD:9 16.5
|
|
(byte*) init_screen::c#2 c zp ZP_WORD:9 16.5
|
|
(void()) lines()
|
|
(label) lines::@1
|
|
(label) lines::@2
|
|
(label) lines::@return
|
|
(byte) lines::l
|
|
(byte) lines::l#1 l zp ZP_BYTE:2 151.5
|
|
(byte) lines::l#2 l zp ZP_BYTE:2 100.99999999999999
|
|
(byte) lines_cnt
|
|
(const byte) lines_cnt#0 lines_cnt = (byte/signed byte/word/signed word/dword/signed dword) 8
|
|
(byte[]) lines_x
|
|
(const byte[]) lines_x#0 lines_x = { (byte/signed byte/word/signed word/dword/signed dword) $3c, (byte/signed byte/word/signed word/dword/signed dword) $50, (byte/signed byte/word/signed word/dword/signed dword) $6e, (byte/signed byte/word/signed word/dword/signed dword) $50, (byte/signed byte/word/signed word/dword/signed dword) $3c, (byte/signed byte/word/signed word/dword/signed dword) $28, (byte/signed byte/word/signed word/dword/signed dword) $a, (byte/signed byte/word/signed word/dword/signed dword) $28, (byte/signed byte/word/signed word/dword/signed dword) $3c }
|
|
(byte[]) lines_y
|
|
(const byte[]) lines_y#0 lines_y = { (byte/signed byte/word/signed word/dword/signed dword) $a, (byte/signed byte/word/signed word/dword/signed dword) $28, (byte/signed byte/word/signed word/dword/signed dword) $3c, (byte/signed byte/word/signed word/dword/signed dword) $50, (byte/signed byte/word/signed word/dword/signed dword) $6e, (byte/signed byte/word/signed word/dword/signed dword) $50, (byte/signed byte/word/signed word/dword/signed dword) $3c, (byte/signed byte/word/signed word/dword/signed dword) $28, (byte/signed byte/word/signed word/dword/signed dword) $a }
|
|
(void()) main()
|
|
(label) main::@1
|
|
(label) main::@2
|
|
(label) main::@3
|
|
|
|
zp ZP_BYTE:2 [ lines::l#2 lines::l#1 bitmap_clear::y#4 bitmap_clear::y#1 bitmap_init::$6 ]
|
|
zp ZP_BYTE:3 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 bitmap_line::yd#2 bitmap_line::yd#11 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 bitmap_line::yd#1 bitmap_line::yd#10 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ]
|
|
zp ZP_BYTE:4 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 bitmap_line::xd#2 bitmap_line::xd#1 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ]
|
|
zp ZP_BYTE:5 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 bitmap_line::x0#0 bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ]
|
|
reg byte x [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 ]
|
|
zp ZP_BYTE:6 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 bitmap_line::y0#0 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ]
|
|
zp ZP_BYTE:7 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 bitmap_line_xdyd::$6 ]
|
|
reg byte x [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ]
|
|
reg byte y [ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ]
|
|
reg byte x [ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#5 bitmap_line_ydxi::x#1 bitmap_line_ydxi::x#0 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ]
|
|
zp ZP_BYTE:8 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 bitmap_line::x1#0 bitmap_line_xdyi::$6 ]
|
|
reg byte x [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#2 ]
|
|
reg byte x [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ]
|
|
zp ZP_WORD:9 [ init_screen::c#2 init_screen::c#1 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::$3 bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 bitmap_plot::plotter_x#0 bitmap_plot::$0 ]
|
|
reg byte x [ bitmap_clear::x#2 bitmap_clear::x#1 ]
|
|
reg byte x [ bitmap_init::x#2 bitmap_init::x#1 ]
|
|
reg byte y [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ]
|
|
reg byte x [ bitmap_init::y#2 bitmap_init::y#1 ]
|
|
reg byte y [ bitmap_line::y1#0 ]
|
|
zp ZP_WORD:11 [ bitmap_plot::plotter_y#0 ]
|
|
reg byte a [ bitmap_plot::$1 ]
|
|
reg byte y [ bitmap_line_ydxi::$6 ]
|
|
reg byte y [ bitmap_line_ydxd::$6 ]
|
|
reg byte a [ bitmap_init::$0 ]
|
|
reg byte a [ bitmap_init::$7 ]
|
|
reg byte a [ bitmap_init::$8 ]
|
|
reg byte a [ bitmap_init::$9 ]
|
|
reg byte a [ bitmap_init::$10 ]
|
|
|
|
|
|
FINAL ASSEMBLER
|
|
Score: 221044
|
|
|
|
//SEG0 File Comments
|
|
//SEG1 Basic Upstart
|
|
.pc = $801 "Basic"
|
|
:BasicUpstart(main)
|
|
.pc = $80d "Program"
|
|
//SEG2 Global Constants & labels
|
|
.label BORDERCOL = $d020
|
|
.label BGCOL = $d021
|
|
.label D011 = $d011
|
|
.const VIC_BMM = $20
|
|
.const VIC_DEN = $10
|
|
.const VIC_RSEL = 8
|
|
.label VIC_MEMORY = $d018
|
|
.label SCREEN = $400
|
|
.label BITMAP = $2000
|
|
.const lines_cnt = 8
|
|
//SEG3 @begin
|
|
//SEG4 [1] phi from @begin to @1 [phi:@begin->@1]
|
|
//SEG5 @1
|
|
//SEG6 [2] call main
|
|
//SEG7 [3] phi from @1 to @end [phi:@1->@end]
|
|
//SEG8 @end
|
|
//SEG9 main
|
|
main: {
|
|
//SEG10 [4] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuc1=vbuc2
|
|
lda #0
|
|
sta BORDERCOL
|
|
//SEG11 [5] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuc1=vbuc2
|
|
sta BGCOL
|
|
//SEG12 [6] *((const byte*) D011#0) ← (const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 -- _deref_pbuc1=vbuc2
|
|
lda #VIC_BMM|VIC_DEN|VIC_RSEL|3
|
|
sta D011
|
|
//SEG13 [7] *((const byte*) VIC_MEMORY#0) ← ((byte))((word))(const byte*) SCREEN#0&(word/signed word/dword/signed dword) $3fff/(byte/signed byte/word/signed word/dword/signed dword) $40|((word))(const byte*) BITMAP#0&(word/signed word/dword/signed dword) $3fff/(word/signed word/dword/signed dword) $400 -- _deref_pbuc1=vbuc2
|
|
lda #(SCREEN&$3fff)/$40|(BITMAP&$3fff)/$400
|
|
sta VIC_MEMORY
|
|
//SEG14 [8] call bitmap_init
|
|
//SEG15 [171] phi from main to bitmap_init [phi:main->bitmap_init]
|
|
jsr bitmap_init
|
|
//SEG16 [9] phi from main to main::@2 [phi:main->main::@2]
|
|
//SEG17 main::@2
|
|
//SEG18 [10] call bitmap_clear
|
|
jsr bitmap_clear
|
|
//SEG19 [11] phi from main::@2 to main::@3 [phi:main::@2->main::@3]
|
|
//SEG20 main::@3
|
|
//SEG21 [12] call init_screen
|
|
//SEG22 [154] phi from main::@3 to init_screen [phi:main::@3->init_screen]
|
|
jsr init_screen
|
|
//SEG23 [13] phi from main::@1 main::@3 to main::@1 [phi:main::@1/main::@3->main::@1]
|
|
//SEG24 main::@1
|
|
b1:
|
|
//SEG25 [14] call lines
|
|
//SEG26 [15] phi from main::@1 to lines [phi:main::@1->lines]
|
|
jsr lines
|
|
jmp b1
|
|
}
|
|
//SEG27 lines
|
|
lines: {
|
|
.label l = 2
|
|
//SEG28 [16] phi from lines to lines::@1 [phi:lines->lines::@1]
|
|
//SEG29 [16] phi (byte) lines::l#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:lines->lines::@1#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta l
|
|
//SEG30 [16] phi from lines::@2 to lines::@1 [phi:lines::@2->lines::@1]
|
|
//SEG31 [16] phi (byte) lines::l#2 = (byte) lines::l#1 [phi:lines::@2->lines::@1#0] -- register_copy
|
|
//SEG32 lines::@1
|
|
b1:
|
|
//SEG33 [17] (byte) bitmap_line::x0#0 ← *((const byte[]) lines_x#0 + (byte) lines::l#2) -- vbuz1=pbuc1_derefidx_vbuz2
|
|
ldy l
|
|
lda lines_x,y
|
|
sta bitmap_line.x0
|
|
//SEG34 [18] (byte) bitmap_line::x1#0 ← *((const byte[]) lines_x#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) lines::l#2) -- vbuz1=pbuc1_derefidx_vbuz2
|
|
lda lines_x+1,y
|
|
sta bitmap_line.x1
|
|
//SEG35 [19] (byte) bitmap_line::y0#0 ← *((const byte[]) lines_y#0 + (byte) lines::l#2) -- vbuz1=pbuc1_derefidx_vbuz2
|
|
lda lines_y,y
|
|
sta bitmap_line.y0
|
|
//SEG36 [20] (byte) bitmap_line::y1#0 ← *((const byte[]) lines_y#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) lines::l#2) -- vbuyy=pbuc1_derefidx_vbuz1
|
|
ldx l
|
|
ldy lines_y+1,x
|
|
//SEG37 [21] call bitmap_line
|
|
jsr bitmap_line
|
|
//SEG38 lines::@2
|
|
//SEG39 [22] (byte) lines::l#1 ← ++ (byte) lines::l#2 -- vbuz1=_inc_vbuz1
|
|
inc l
|
|
//SEG40 [23] if((byte) lines::l#1<(const byte) lines_cnt#0) goto lines::@1 -- vbuz1_lt_vbuc1_then_la1
|
|
lda l
|
|
cmp #lines_cnt
|
|
bcc b1
|
|
//SEG41 lines::@return
|
|
//SEG42 [24] return
|
|
rts
|
|
}
|
|
//SEG43 bitmap_line
|
|
// Draw a line on the bitmap
|
|
// bitmap_line(byte zeropage(5) x0, byte zeropage(8) x1, byte zeropage(6) y0, byte register(Y) y1)
|
|
bitmap_line: {
|
|
.label xd = 4
|
|
.label yd = 3
|
|
.label x0 = 5
|
|
.label x1 = 8
|
|
.label y0 = 6
|
|
//SEG44 [25] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1 -- vbuz1_lt_vbuz2_then_la1
|
|
lda x0
|
|
cmp x1
|
|
bcc b1
|
|
//SEG45 bitmap_line::@2
|
|
//SEG46 [26] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 -- vbuz1=vbuz2_minus_vbuz3
|
|
sec
|
|
sbc x1
|
|
sta xd
|
|
//SEG47 [27] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@7 -- vbuz1_lt_vbuyy_then_la1
|
|
tya
|
|
cmp y0
|
|
beq !+
|
|
bcs b7
|
|
!:
|
|
//SEG48 bitmap_line::@3
|
|
//SEG49 [28] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuyy
|
|
tya
|
|
eor #$ff
|
|
sec
|
|
adc y0
|
|
sta yd
|
|
//SEG50 [29] if((byte) bitmap_line::yd#2<(byte) bitmap_line::xd#2) goto bitmap_line::@8 -- vbuz1_lt_vbuz2_then_la1
|
|
cmp xd
|
|
bcc b8
|
|
//SEG51 bitmap_line::@4
|
|
//SEG52 [30] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy
|
|
sty bitmap_line_ydxi.y
|
|
//SEG53 [31] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 -- vbuxx=vbuz1
|
|
ldx x1
|
|
//SEG54 [32] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0
|
|
//SEG55 [33] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#2
|
|
//SEG56 [34] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#2
|
|
//SEG57 [35] call bitmap_line_ydxi
|
|
//SEG58 [109] phi from bitmap_line::@4 to bitmap_line_ydxi [phi:bitmap_line::@4->bitmap_line_ydxi]
|
|
//SEG59 [109] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#0 [phi:bitmap_line::@4->bitmap_line_ydxi#0] -- register_copy
|
|
//SEG60 [109] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#1] -- register_copy
|
|
//SEG61 [109] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#0 [phi:bitmap_line::@4->bitmap_line_ydxi#2] -- register_copy
|
|
//SEG62 [109] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#0 [phi:bitmap_line::@4->bitmap_line_ydxi#3] -- register_copy
|
|
//SEG63 [109] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#4] -- register_copy
|
|
jsr bitmap_line_ydxi
|
|
//SEG64 bitmap_line::@return
|
|
//SEG65 [36] return
|
|
rts
|
|
//SEG66 bitmap_line::@8
|
|
b8:
|
|
//SEG67 [37] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 -- vbuxx=vbuz1
|
|
ldx x1
|
|
//SEG68 [38] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy
|
|
sty bitmap_line_xdyi.y
|
|
//SEG69 [39] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0
|
|
//SEG70 [40] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#2
|
|
//SEG71 [41] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#2
|
|
//SEG72 [42] call bitmap_line_xdyi
|
|
//SEG73 [87] phi from bitmap_line::@8 to bitmap_line_xdyi [phi:bitmap_line::@8->bitmap_line_xdyi]
|
|
//SEG74 [87] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#0 [phi:bitmap_line::@8->bitmap_line_xdyi#0] -- register_copy
|
|
//SEG75 [87] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#1] -- register_copy
|
|
//SEG76 [87] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#0 [phi:bitmap_line::@8->bitmap_line_xdyi#2] -- register_copy
|
|
//SEG77 [87] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#0 [phi:bitmap_line::@8->bitmap_line_xdyi#3] -- register_copy
|
|
//SEG78 [87] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#4] -- register_copy
|
|
jsr bitmap_line_xdyi
|
|
rts
|
|
//SEG79 bitmap_line::@7
|
|
b7:
|
|
//SEG80 [43] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuyy_minus_vbuz2
|
|
tya
|
|
sec
|
|
sbc y0
|
|
sta yd
|
|
//SEG81 [44] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#2) goto bitmap_line::@9 -- vbuz1_lt_vbuz2_then_la1
|
|
cmp xd
|
|
bcc b9
|
|
//SEG82 bitmap_line::@10
|
|
//SEG83 [45] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2
|
|
lda y0
|
|
sta bitmap_line_ydxd.y
|
|
//SEG84 [46] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 -- vbuxx=vbuz1
|
|
ldx x0
|
|
//SEG85 [47] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy
|
|
sty bitmap_line_ydxd.y1
|
|
//SEG86 [48] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#1
|
|
//SEG87 [49] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#2
|
|
//SEG88 [50] call bitmap_line_ydxd
|
|
//SEG89 [139] phi from bitmap_line::@10 to bitmap_line_ydxd [phi:bitmap_line::@10->bitmap_line_ydxd]
|
|
//SEG90 [139] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#0 [phi:bitmap_line::@10->bitmap_line_ydxd#0] -- register_copy
|
|
//SEG91 [139] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#1] -- register_copy
|
|
//SEG92 [139] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#0 [phi:bitmap_line::@10->bitmap_line_ydxd#2] -- register_copy
|
|
//SEG93 [139] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#0 [phi:bitmap_line::@10->bitmap_line_ydxd#3] -- register_copy
|
|
//SEG94 [139] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#4] -- register_copy
|
|
jsr bitmap_line_ydxd
|
|
rts
|
|
//SEG95 bitmap_line::@9
|
|
b9:
|
|
//SEG96 [51] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 -- vbuxx=vbuz1
|
|
ldx x1
|
|
//SEG97 [52] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy
|
|
sty bitmap_line_xdyd.y
|
|
//SEG98 [53] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2
|
|
lda x0
|
|
sta bitmap_line_xdyd.x1
|
|
//SEG99 [54] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#2
|
|
//SEG100 [55] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#1
|
|
//SEG101 [56] call bitmap_line_xdyd
|
|
//SEG102 [124] phi from bitmap_line::@9 to bitmap_line_xdyd [phi:bitmap_line::@9->bitmap_line_xdyd]
|
|
//SEG103 [124] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#0 [phi:bitmap_line::@9->bitmap_line_xdyd#0] -- register_copy
|
|
//SEG104 [124] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#1] -- register_copy
|
|
//SEG105 [124] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#0 [phi:bitmap_line::@9->bitmap_line_xdyd#2] -- register_copy
|
|
//SEG106 [124] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#0 [phi:bitmap_line::@9->bitmap_line_xdyd#3] -- register_copy
|
|
//SEG107 [124] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#4] -- register_copy
|
|
jsr bitmap_line_xdyd
|
|
rts
|
|
//SEG108 bitmap_line::@1
|
|
b1:
|
|
//SEG109 [57] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 -- vbuz1=vbuz2_minus_vbuz3
|
|
lda x1
|
|
sec
|
|
sbc x0
|
|
sta xd
|
|
//SEG110 [58] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@11 -- vbuz1_lt_vbuyy_then_la1
|
|
tya
|
|
cmp y0
|
|
beq !+
|
|
bcs b11
|
|
!:
|
|
//SEG111 bitmap_line::@5
|
|
//SEG112 [59] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuyy
|
|
tya
|
|
eor #$ff
|
|
sec
|
|
adc y0
|
|
sta yd
|
|
//SEG113 [60] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#1) goto bitmap_line::@12 -- vbuz1_lt_vbuz2_then_la1
|
|
cmp xd
|
|
bcc b12
|
|
//SEG114 bitmap_line::@6
|
|
//SEG115 [61] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy
|
|
sty bitmap_line_ydxd.y
|
|
//SEG116 [62] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 -- vbuxx=vbuz1
|
|
ldx x1
|
|
//SEG117 [63] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0
|
|
//SEG118 [64] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#10
|
|
//SEG119 [65] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#1
|
|
//SEG120 [66] call bitmap_line_ydxd
|
|
//SEG121 [139] phi from bitmap_line::@6 to bitmap_line_ydxd [phi:bitmap_line::@6->bitmap_line_ydxd]
|
|
//SEG122 [139] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#1 [phi:bitmap_line::@6->bitmap_line_ydxd#0] -- register_copy
|
|
//SEG123 [139] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#1] -- register_copy
|
|
//SEG124 [139] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#1 [phi:bitmap_line::@6->bitmap_line_ydxd#2] -- register_copy
|
|
//SEG125 [139] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#1 [phi:bitmap_line::@6->bitmap_line_ydxd#3] -- register_copy
|
|
//SEG126 [139] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#4] -- register_copy
|
|
jsr bitmap_line_ydxd
|
|
rts
|
|
//SEG127 bitmap_line::@12
|
|
b12:
|
|
//SEG128 [67] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 -- vbuxx=vbuz1
|
|
ldx x0
|
|
//SEG129 [68] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0
|
|
//SEG130 [69] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0
|
|
//SEG131 [70] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#1
|
|
//SEG132 [71] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#10
|
|
//SEG133 [72] call bitmap_line_xdyd
|
|
//SEG134 [124] phi from bitmap_line::@12 to bitmap_line_xdyd [phi:bitmap_line::@12->bitmap_line_xdyd]
|
|
//SEG135 [124] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#1 [phi:bitmap_line::@12->bitmap_line_xdyd#0] -- register_copy
|
|
//SEG136 [124] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#1] -- register_copy
|
|
//SEG137 [124] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#1 [phi:bitmap_line::@12->bitmap_line_xdyd#2] -- register_copy
|
|
//SEG138 [124] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#1 [phi:bitmap_line::@12->bitmap_line_xdyd#3] -- register_copy
|
|
//SEG139 [124] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#4] -- register_copy
|
|
jsr bitmap_line_xdyd
|
|
rts
|
|
//SEG140 bitmap_line::@11
|
|
b11:
|
|
//SEG141 [73] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuyy_minus_vbuz2
|
|
tya
|
|
sec
|
|
sbc y0
|
|
sta yd
|
|
//SEG142 [74] if((byte) bitmap_line::yd#11<(byte) bitmap_line::xd#1) goto bitmap_line::@13 -- vbuz1_lt_vbuz2_then_la1
|
|
cmp xd
|
|
bcc b13
|
|
//SEG143 bitmap_line::@14
|
|
//SEG144 [75] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2
|
|
lda y0
|
|
sta bitmap_line_ydxi.y
|
|
//SEG145 [76] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 -- vbuxx=vbuz1
|
|
ldx x0
|
|
//SEG146 [77] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy
|
|
sty bitmap_line_ydxi.y1
|
|
//SEG147 [78] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#11
|
|
//SEG148 [79] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#1
|
|
//SEG149 [80] call bitmap_line_ydxi
|
|
//SEG150 [109] phi from bitmap_line::@14 to bitmap_line_ydxi [phi:bitmap_line::@14->bitmap_line_ydxi]
|
|
//SEG151 [109] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#1 [phi:bitmap_line::@14->bitmap_line_ydxi#0] -- register_copy
|
|
//SEG152 [109] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#1] -- register_copy
|
|
//SEG153 [109] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#1 [phi:bitmap_line::@14->bitmap_line_ydxi#2] -- register_copy
|
|
//SEG154 [109] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#1 [phi:bitmap_line::@14->bitmap_line_ydxi#3] -- register_copy
|
|
//SEG155 [109] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#4] -- register_copy
|
|
jsr bitmap_line_ydxi
|
|
rts
|
|
//SEG156 bitmap_line::@13
|
|
b13:
|
|
//SEG157 [81] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 -- vbuxx=vbuz1
|
|
ldx x0
|
|
//SEG158 [82] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0
|
|
//SEG159 [83] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2
|
|
lda x1
|
|
sta bitmap_line_xdyi.x1
|
|
//SEG160 [84] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#1
|
|
//SEG161 [85] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11
|
|
//SEG162 [86] call bitmap_line_xdyi
|
|
//SEG163 [87] phi from bitmap_line::@13 to bitmap_line_xdyi [phi:bitmap_line::@13->bitmap_line_xdyi]
|
|
//SEG164 [87] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#1 [phi:bitmap_line::@13->bitmap_line_xdyi#0] -- register_copy
|
|
//SEG165 [87] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#1] -- register_copy
|
|
//SEG166 [87] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#1 [phi:bitmap_line::@13->bitmap_line_xdyi#2] -- register_copy
|
|
//SEG167 [87] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#1 [phi:bitmap_line::@13->bitmap_line_xdyi#3] -- register_copy
|
|
//SEG168 [87] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#4] -- register_copy
|
|
jsr bitmap_line_xdyi
|
|
rts
|
|
}
|
|
//SEG169 bitmap_line_xdyi
|
|
// bitmap_line_xdyi(byte register(X) x, byte zeropage(6) y, byte zeropage(5) x1, byte zeropage(4) xd, byte zeropage(3) yd)
|
|
bitmap_line_xdyi: {
|
|
.label _6 = 8
|
|
.label y = 6
|
|
.label x1 = 5
|
|
.label xd = 4
|
|
.label yd = 3
|
|
.label e = 7
|
|
//SEG170 [88] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1
|
|
lda yd
|
|
lsr
|
|
sta e
|
|
//SEG171 [89] phi from bitmap_line_xdyi bitmap_line_xdyi::@2 to bitmap_line_xdyi::@1 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1]
|
|
//SEG172 [89] phi (byte) bitmap_line_xdyi::e#3 = (byte) bitmap_line_xdyi::e#0 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#0] -- register_copy
|
|
//SEG173 [89] phi (byte) bitmap_line_xdyi::y#3 = (byte) bitmap_line_xdyi::y#5 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#1] -- register_copy
|
|
//SEG174 [89] phi (byte) bitmap_line_xdyi::x#3 = (byte) bitmap_line_xdyi::x#6 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#2] -- register_copy
|
|
//SEG175 bitmap_line_xdyi::@1
|
|
b1:
|
|
//SEG176 [90] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3
|
|
//SEG177 [91] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 -- vbuyy=vbuz1
|
|
ldy y
|
|
//SEG178 [92] call bitmap_plot
|
|
//SEG179 [102] phi from bitmap_line_xdyi::@1 to bitmap_plot [phi:bitmap_line_xdyi::@1->bitmap_plot]
|
|
//SEG180 [102] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#0] -- register_copy
|
|
//SEG181 [102] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#1] -- register_copy
|
|
jsr bitmap_plot
|
|
//SEG182 bitmap_line_xdyi::@4
|
|
//SEG183 [93] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
//SEG184 [94] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 -- vbuz1=vbuz1_plus_vbuz2
|
|
lda e
|
|
clc
|
|
adc yd
|
|
sta e
|
|
//SEG185 [95] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 -- vbuz1_ge_vbuz2_then_la1
|
|
lda xd
|
|
cmp e
|
|
bcs b2
|
|
//SEG186 bitmap_line_xdyi::@3
|
|
//SEG187 [96] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 -- vbuz1=_inc_vbuz1
|
|
inc y
|
|
//SEG188 [97] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 -- vbuz1=vbuz1_minus_vbuz2
|
|
lda e
|
|
sec
|
|
sbc xd
|
|
sta e
|
|
//SEG189 [98] phi from bitmap_line_xdyi::@3 bitmap_line_xdyi::@4 to bitmap_line_xdyi::@2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2]
|
|
//SEG190 [98] phi (byte) bitmap_line_xdyi::e#6 = (byte) bitmap_line_xdyi::e#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#0] -- register_copy
|
|
//SEG191 [98] phi (byte) bitmap_line_xdyi::y#6 = (byte) bitmap_line_xdyi::y#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#1] -- register_copy
|
|
//SEG192 bitmap_line_xdyi::@2
|
|
b2:
|
|
//SEG193 [99] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_plus_1
|
|
ldy x1
|
|
iny
|
|
sty _6
|
|
//SEG194 [100] if((byte) bitmap_line_xdyi::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 -- vbuxx_neq_vbuz1_then_la1
|
|
cpx _6
|
|
bne b1
|
|
//SEG195 bitmap_line_xdyi::@return
|
|
//SEG196 [101] return
|
|
rts
|
|
}
|
|
//SEG197 bitmap_plot
|
|
// bitmap_plot(byte register(X) x, byte register(Y) y)
|
|
bitmap_plot: {
|
|
.label _0 = 9
|
|
.label plotter_x = 9
|
|
.label plotter_y = $b
|
|
//SEG198 [103] (word) bitmap_plot::plotter_x#0 ← *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_plot::x#4) -- vwuz1=pbuc1_derefidx_vbuxx_word_pbuc2_derefidx_vbuxx
|
|
lda bitmap_plot_xhi,x
|
|
sta plotter_x+1
|
|
lda bitmap_plot_xlo,x
|
|
sta plotter_x
|
|
//SEG199 [104] (word) bitmap_plot::plotter_y#0 ← *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy
|
|
lda bitmap_plot_yhi,y
|
|
sta plotter_y+1
|
|
lda bitmap_plot_ylo,y
|
|
sta plotter_y
|
|
//SEG200 [105] (word~) bitmap_plot::$0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 -- vwuz1=vwuz1_plus_vwuz2
|
|
lda _0
|
|
clc
|
|
adc plotter_y
|
|
sta _0
|
|
lda _0+1
|
|
adc plotter_y+1
|
|
sta _0+1
|
|
//SEG201 [106] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_plot::x#4) -- vbuaa=_deref_pbuz1_bor_pbuc1_derefidx_vbuxx
|
|
lda bitmap_plot_bit,x
|
|
ldy #0
|
|
ora (_0),y
|
|
//SEG202 [107] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 -- _deref_pbuz1=vbuaa
|
|
sta (_0),y
|
|
//SEG203 bitmap_plot::@return
|
|
//SEG204 [108] return
|
|
rts
|
|
}
|
|
//SEG205 bitmap_line_ydxi
|
|
// bitmap_line_ydxi(byte zeropage(7) y, byte register(X) x, byte zeropage(6) y1, byte zeropage(3) yd, byte zeropage(4) xd)
|
|
bitmap_line_ydxi: {
|
|
.label y = 7
|
|
.label y1 = 6
|
|
.label yd = 3
|
|
.label xd = 4
|
|
.label e = 5
|
|
//SEG206 [110] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1
|
|
lda xd
|
|
lsr
|
|
sta e
|
|
//SEG207 [111] phi from bitmap_line_ydxi bitmap_line_ydxi::@2 to bitmap_line_ydxi::@1 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1]
|
|
//SEG208 [111] phi (byte) bitmap_line_ydxi::e#3 = (byte) bitmap_line_ydxi::e#0 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#0] -- register_copy
|
|
//SEG209 [111] phi (byte) bitmap_line_ydxi::y#3 = (byte) bitmap_line_ydxi::y#6 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#1] -- register_copy
|
|
//SEG210 [111] phi (byte) bitmap_line_ydxi::x#3 = (byte) bitmap_line_ydxi::x#5 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#2] -- register_copy
|
|
//SEG211 bitmap_line_ydxi::@1
|
|
b1:
|
|
//SEG212 [112] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3
|
|
//SEG213 [113] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 -- vbuyy=vbuz1
|
|
ldy y
|
|
//SEG214 [114] call bitmap_plot
|
|
//SEG215 [102] phi from bitmap_line_ydxi::@1 to bitmap_plot [phi:bitmap_line_ydxi::@1->bitmap_plot]
|
|
//SEG216 [102] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#0] -- register_copy
|
|
//SEG217 [102] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#1] -- register_copy
|
|
jsr bitmap_plot
|
|
//SEG218 bitmap_line_ydxi::@4
|
|
//SEG219 [115] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 -- vbuz1=_inc_vbuz1
|
|
inc y
|
|
//SEG220 [116] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 -- vbuz1=vbuz1_plus_vbuz2
|
|
lda e
|
|
clc
|
|
adc xd
|
|
sta e
|
|
//SEG221 [117] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 -- vbuz1_ge_vbuz2_then_la1
|
|
lda yd
|
|
cmp e
|
|
bcs b2
|
|
//SEG222 bitmap_line_ydxi::@3
|
|
//SEG223 [118] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
//SEG224 [119] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 -- vbuz1=vbuz1_minus_vbuz2
|
|
lda e
|
|
sec
|
|
sbc yd
|
|
sta e
|
|
//SEG225 [120] phi from bitmap_line_ydxi::@3 bitmap_line_ydxi::@4 to bitmap_line_ydxi::@2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2]
|
|
//SEG226 [120] phi (byte) bitmap_line_ydxi::e#6 = (byte) bitmap_line_ydxi::e#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#0] -- register_copy
|
|
//SEG227 [120] phi (byte) bitmap_line_ydxi::x#6 = (byte) bitmap_line_ydxi::x#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#1] -- register_copy
|
|
//SEG228 bitmap_line_ydxi::@2
|
|
b2:
|
|
//SEG229 [121] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuyy=vbuz1_plus_1
|
|
ldy y1
|
|
iny
|
|
//SEG230 [122] if((byte) bitmap_line_ydxi::y#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1 -- vbuz1_neq_vbuyy_then_la1
|
|
cpy y
|
|
bne b1
|
|
//SEG231 bitmap_line_ydxi::@return
|
|
//SEG232 [123] return
|
|
rts
|
|
}
|
|
//SEG233 bitmap_line_xdyd
|
|
// bitmap_line_xdyd(byte register(X) x, byte zeropage(6) y, byte zeropage(8) x1, byte zeropage(4) xd, byte zeropage(3) yd)
|
|
bitmap_line_xdyd: {
|
|
.label _6 = 7
|
|
.label y = 6
|
|
.label x1 = 8
|
|
.label xd = 4
|
|
.label yd = 3
|
|
.label e = 5
|
|
//SEG234 [125] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1
|
|
lda yd
|
|
lsr
|
|
sta e
|
|
//SEG235 [126] phi from bitmap_line_xdyd bitmap_line_xdyd::@2 to bitmap_line_xdyd::@1 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1]
|
|
//SEG236 [126] phi (byte) bitmap_line_xdyd::e#3 = (byte) bitmap_line_xdyd::e#0 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#0] -- register_copy
|
|
//SEG237 [126] phi (byte) bitmap_line_xdyd::y#3 = (byte) bitmap_line_xdyd::y#5 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#1] -- register_copy
|
|
//SEG238 [126] phi (byte) bitmap_line_xdyd::x#3 = (byte) bitmap_line_xdyd::x#6 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#2] -- register_copy
|
|
//SEG239 bitmap_line_xdyd::@1
|
|
b1:
|
|
//SEG240 [127] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3
|
|
//SEG241 [128] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 -- vbuyy=vbuz1
|
|
ldy y
|
|
//SEG242 [129] call bitmap_plot
|
|
//SEG243 [102] phi from bitmap_line_xdyd::@1 to bitmap_plot [phi:bitmap_line_xdyd::@1->bitmap_plot]
|
|
//SEG244 [102] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#0] -- register_copy
|
|
//SEG245 [102] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#1] -- register_copy
|
|
jsr bitmap_plot
|
|
//SEG246 bitmap_line_xdyd::@4
|
|
//SEG247 [130] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
//SEG248 [131] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 -- vbuz1=vbuz1_plus_vbuz2
|
|
lda e
|
|
clc
|
|
adc yd
|
|
sta e
|
|
//SEG249 [132] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 -- vbuz1_ge_vbuz2_then_la1
|
|
lda xd
|
|
cmp e
|
|
bcs b2
|
|
//SEG250 bitmap_line_xdyd::@3
|
|
//SEG251 [133] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 -- vbuz1=_dec_vbuz1
|
|
dec y
|
|
//SEG252 [134] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 -- vbuz1=vbuz1_minus_vbuz2
|
|
lda e
|
|
sec
|
|
sbc xd
|
|
sta e
|
|
//SEG253 [135] phi from bitmap_line_xdyd::@3 bitmap_line_xdyd::@4 to bitmap_line_xdyd::@2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2]
|
|
//SEG254 [135] phi (byte) bitmap_line_xdyd::e#6 = (byte) bitmap_line_xdyd::e#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#0] -- register_copy
|
|
//SEG255 [135] phi (byte) bitmap_line_xdyd::y#6 = (byte) bitmap_line_xdyd::y#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#1] -- register_copy
|
|
//SEG256 bitmap_line_xdyd::@2
|
|
b2:
|
|
//SEG257 [136] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_plus_1
|
|
ldy x1
|
|
iny
|
|
sty _6
|
|
//SEG258 [137] if((byte) bitmap_line_xdyd::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1 -- vbuxx_neq_vbuz1_then_la1
|
|
cpx _6
|
|
bne b1
|
|
//SEG259 bitmap_line_xdyd::@return
|
|
//SEG260 [138] return
|
|
rts
|
|
}
|
|
//SEG261 bitmap_line_ydxd
|
|
// bitmap_line_ydxd(byte zeropage(7) y, byte register(X) x, byte zeropage(6) y1, byte zeropage(3) yd, byte zeropage(4) xd)
|
|
bitmap_line_ydxd: {
|
|
.label y = 7
|
|
.label y1 = 6
|
|
.label yd = 3
|
|
.label xd = 4
|
|
.label e = 5
|
|
//SEG262 [140] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1
|
|
lda xd
|
|
lsr
|
|
sta e
|
|
//SEG263 [141] phi from bitmap_line_ydxd bitmap_line_ydxd::@2 to bitmap_line_ydxd::@1 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1]
|
|
//SEG264 [141] phi (byte) bitmap_line_ydxd::e#3 = (byte) bitmap_line_ydxd::e#0 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#0] -- register_copy
|
|
//SEG265 [141] phi (byte) bitmap_line_ydxd::y#2 = (byte) bitmap_line_ydxd::y#7 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#1] -- register_copy
|
|
//SEG266 [141] phi (byte) bitmap_line_ydxd::x#3 = (byte) bitmap_line_ydxd::x#5 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#2] -- register_copy
|
|
//SEG267 bitmap_line_ydxd::@1
|
|
b1:
|
|
//SEG268 [142] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3
|
|
//SEG269 [143] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 -- vbuyy=vbuz1
|
|
ldy y
|
|
//SEG270 [144] call bitmap_plot
|
|
//SEG271 [102] phi from bitmap_line_ydxd::@1 to bitmap_plot [phi:bitmap_line_ydxd::@1->bitmap_plot]
|
|
//SEG272 [102] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#0] -- register_copy
|
|
//SEG273 [102] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#1] -- register_copy
|
|
jsr bitmap_plot
|
|
//SEG274 bitmap_line_ydxd::@4
|
|
//SEG275 [145] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 -- vbuz1=_inc_vbuz1
|
|
inc y
|
|
//SEG276 [146] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 -- vbuz1=vbuz1_plus_vbuz2
|
|
lda e
|
|
clc
|
|
adc xd
|
|
sta e
|
|
//SEG277 [147] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 -- vbuz1_ge_vbuz2_then_la1
|
|
lda yd
|
|
cmp e
|
|
bcs b2
|
|
//SEG278 bitmap_line_ydxd::@3
|
|
//SEG279 [148] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 -- vbuxx=_dec_vbuxx
|
|
dex
|
|
//SEG280 [149] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 -- vbuz1=vbuz1_minus_vbuz2
|
|
lda e
|
|
sec
|
|
sbc yd
|
|
sta e
|
|
//SEG281 [150] phi from bitmap_line_ydxd::@3 bitmap_line_ydxd::@4 to bitmap_line_ydxd::@2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2]
|
|
//SEG282 [150] phi (byte) bitmap_line_ydxd::e#6 = (byte) bitmap_line_ydxd::e#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#0] -- register_copy
|
|
//SEG283 [150] phi (byte) bitmap_line_ydxd::x#6 = (byte) bitmap_line_ydxd::x#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#1] -- register_copy
|
|
//SEG284 bitmap_line_ydxd::@2
|
|
b2:
|
|
//SEG285 [151] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuyy=vbuz1_plus_1
|
|
ldy y1
|
|
iny
|
|
//SEG286 [152] if((byte) bitmap_line_ydxd::y#3!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1 -- vbuz1_neq_vbuyy_then_la1
|
|
cpy y
|
|
bne b1
|
|
//SEG287 bitmap_line_ydxd::@return
|
|
//SEG288 [153] return
|
|
rts
|
|
}
|
|
//SEG289 init_screen
|
|
init_screen: {
|
|
.label c = 9
|
|
//SEG290 [155] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1]
|
|
//SEG291 [155] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen->init_screen::@1#0] -- pbuz1=pbuc1
|
|
lda #<SCREEN
|
|
sta c
|
|
lda #>SCREEN
|
|
sta c+1
|
|
//SEG292 [155] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1]
|
|
//SEG293 [155] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy
|
|
//SEG294 init_screen::@1
|
|
b1:
|
|
//SEG295 [156] *((byte*) init_screen::c#2) ← (byte/signed byte/word/signed word/dword/signed dword) $14 -- _deref_pbuz1=vbuc1
|
|
lda #$14
|
|
ldy #0
|
|
sta (c),y
|
|
//SEG296 [157] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 -- pbuz1=_inc_pbuz1
|
|
inc c
|
|
bne !+
|
|
inc c+1
|
|
!:
|
|
//SEG297 [158] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word/signed word/dword/signed dword) $400) goto init_screen::@1 -- pbuz1_neq_pbuc1_then_la1
|
|
lda c+1
|
|
cmp #>SCREEN+$400
|
|
bne b1
|
|
lda c
|
|
cmp #<SCREEN+$400
|
|
bne b1
|
|
//SEG298 init_screen::@return
|
|
//SEG299 [159] return
|
|
rts
|
|
}
|
|
//SEG300 bitmap_clear
|
|
// Clear all graphics on the bitmap
|
|
bitmap_clear: {
|
|
.label bitmap = 9
|
|
.label y = 2
|
|
.label _3 = 9
|
|
//SEG301 [160] (word~) bitmap_clear::$3 ← *((const byte[$100]) bitmap_plot_xhi#0) w= *((const byte[$100]) bitmap_plot_xlo#0) -- vwuz1=_deref_pbuc1_word__deref_pbuc2
|
|
lda bitmap_plot_xlo
|
|
sta _3
|
|
lda bitmap_plot_xhi
|
|
sta _3+1
|
|
//SEG302 [161] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3
|
|
//SEG303 [162] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1]
|
|
//SEG304 [162] phi (byte) bitmap_clear::y#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_clear->bitmap_clear::@1#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta y
|
|
//SEG305 [162] phi (byte*) bitmap_clear::bitmap#3 = (byte*~) bitmap_clear::bitmap#5 [phi:bitmap_clear->bitmap_clear::@1#1] -- register_copy
|
|
//SEG306 [162] phi from bitmap_clear::@3 to bitmap_clear::@1 [phi:bitmap_clear::@3->bitmap_clear::@1]
|
|
//SEG307 [162] phi (byte) bitmap_clear::y#4 = (byte) bitmap_clear::y#1 [phi:bitmap_clear::@3->bitmap_clear::@1#0] -- register_copy
|
|
//SEG308 [162] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@3->bitmap_clear::@1#1] -- register_copy
|
|
//SEG309 bitmap_clear::@1
|
|
b1:
|
|
//SEG310 [163] phi from bitmap_clear::@1 to bitmap_clear::@2 [phi:bitmap_clear::@1->bitmap_clear::@2]
|
|
//SEG311 [163] phi (byte) bitmap_clear::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_clear::@1->bitmap_clear::@2#0] -- vbuxx=vbuc1
|
|
ldx #0
|
|
//SEG312 [163] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#3 [phi:bitmap_clear::@1->bitmap_clear::@2#1] -- register_copy
|
|
//SEG313 [163] phi from bitmap_clear::@2 to bitmap_clear::@2 [phi:bitmap_clear::@2->bitmap_clear::@2]
|
|
//SEG314 [163] phi (byte) bitmap_clear::x#2 = (byte) bitmap_clear::x#1 [phi:bitmap_clear::@2->bitmap_clear::@2#0] -- register_copy
|
|
//SEG315 [163] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@2->bitmap_clear::@2#1] -- register_copy
|
|
//SEG316 bitmap_clear::@2
|
|
b2:
|
|
//SEG317 [164] *((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1
|
|
lda #0
|
|
tay
|
|
sta (bitmap),y
|
|
//SEG318 [165] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 -- pbuz1=_inc_pbuz1
|
|
inc bitmap
|
|
bne !+
|
|
inc bitmap+1
|
|
!:
|
|
//SEG319 [166] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
//SEG320 [167] if((byte) bitmap_clear::x#1!=(byte/word/signed word/dword/signed dword) $c8) goto bitmap_clear::@2 -- vbuxx_neq_vbuc1_then_la1
|
|
cpx #$c8
|
|
bne b2
|
|
//SEG321 bitmap_clear::@3
|
|
//SEG322 [168] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 -- vbuz1=_inc_vbuz1
|
|
inc y
|
|
//SEG323 [169] if((byte) bitmap_clear::y#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto bitmap_clear::@1 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #$28
|
|
cmp y
|
|
bne b1
|
|
//SEG324 bitmap_clear::@return
|
|
//SEG325 [170] return
|
|
rts
|
|
}
|
|
//SEG326 bitmap_init
|
|
// Initialize the bitmap plotter tables for a specific bitmap
|
|
bitmap_init: {
|
|
.label _6 = 2
|
|
.label yoffs = 9
|
|
//SEG327 [172] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1]
|
|
//SEG328 [172] phi (byte) bitmap_init::bits#3 = (byte/word/signed word/dword/signed dword) $80 [phi:bitmap_init->bitmap_init::@1#0] -- vbuyy=vbuc1
|
|
ldy #$80
|
|
//SEG329 [172] phi (byte) bitmap_init::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init->bitmap_init::@1#1] -- vbuxx=vbuc1
|
|
ldx #0
|
|
//SEG330 [172] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1]
|
|
//SEG331 [172] phi (byte) bitmap_init::bits#3 = (byte) bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy
|
|
//SEG332 [172] phi (byte) bitmap_init::x#2 = (byte) bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy
|
|
//SEG333 bitmap_init::@1
|
|
b1:
|
|
//SEG334 [173] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte/word/signed word/dword/signed dword) $f8 -- vbuaa=vbuxx_band_vbuc1
|
|
txa
|
|
and #$f8
|
|
//SEG335 [174] *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 -- pbuc1_derefidx_vbuxx=vbuaa
|
|
sta bitmap_plot_xlo,x
|
|
//SEG336 [175] *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← >(const byte*) BITMAP#0 -- pbuc1_derefidx_vbuxx=vbuc2
|
|
lda #>BITMAP
|
|
sta bitmap_plot_xhi,x
|
|
//SEG337 [176] *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 -- pbuc1_derefidx_vbuxx=vbuyy
|
|
tya
|
|
sta bitmap_plot_bit,x
|
|
//SEG338 [177] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuyy=vbuyy_ror_1
|
|
tya
|
|
lsr
|
|
tay
|
|
//SEG339 [178] if((byte) bitmap_init::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@6 -- vbuyy_neq_0_then_la1
|
|
cpy #0
|
|
bne b2
|
|
//SEG340 [179] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2]
|
|
//SEG341 [179] phi (byte) bitmap_init::bits#4 = (byte/word/signed word/dword/signed dword) $80 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuyy=vbuc1
|
|
ldy #$80
|
|
//SEG342 bitmap_init::@2
|
|
b2:
|
|
//SEG343 [180] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
//SEG344 [181] if((byte) bitmap_init::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@1 -- vbuxx_neq_0_then_la1
|
|
cpx #0
|
|
bne b1
|
|
//SEG345 [182] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3]
|
|
//SEG346 [182] phi (byte*) bitmap_init::yoffs#2 = ((byte*))(byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init::@2->bitmap_init::@3#0] -- pbuz1=pbuc1
|
|
lda #<0
|
|
sta yoffs
|
|
sta yoffs+1
|
|
//SEG347 [182] phi (byte) bitmap_init::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init::@2->bitmap_init::@3#1] -- vbuxx=vbuc1
|
|
tax
|
|
//SEG348 [182] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3]
|
|
//SEG349 [182] phi (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy
|
|
//SEG350 [182] phi (byte) bitmap_init::y#2 = (byte) bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy
|
|
//SEG351 bitmap_init::@3
|
|
b3:
|
|
//SEG352 [183] (byte~) bitmap_init::$6 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuz1=vbuxx_band_vbuc1
|
|
lda #7
|
|
sax _6
|
|
//SEG353 [184] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 -- vbuaa=_lo_pbuz1
|
|
lda yoffs
|
|
//SEG354 [185] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$6 | (byte~) bitmap_init::$7 -- vbuaa=vbuz1_bor_vbuaa
|
|
ora _6
|
|
//SEG355 [186] *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 -- pbuc1_derefidx_vbuxx=vbuaa
|
|
sta bitmap_plot_ylo,x
|
|
//SEG356 [187] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 -- vbuaa=_hi_pbuz1
|
|
lda yoffs+1
|
|
//SEG357 [188] *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 -- pbuc1_derefidx_vbuxx=vbuaa
|
|
sta bitmap_plot_yhi,x
|
|
//SEG358 [189] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuaa=vbuxx_band_vbuc1
|
|
txa
|
|
and #7
|
|
//SEG359 [190] if((byte~) bitmap_init::$10!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto bitmap_init::@4 -- vbuaa_neq_vbuc1_then_la1
|
|
cmp #7
|
|
bne b4
|
|
//SEG360 bitmap_init::@5
|
|
//SEG361 [191] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz1_plus_vwuc1
|
|
clc
|
|
lda yoffs
|
|
adc #<$28*8
|
|
sta yoffs
|
|
lda yoffs+1
|
|
adc #>$28*8
|
|
sta yoffs+1
|
|
//SEG362 [192] phi from bitmap_init::@3 bitmap_init::@5 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4]
|
|
//SEG363 [192] phi (byte*) bitmap_init::yoffs#4 = (byte*) bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4#0] -- register_copy
|
|
//SEG364 bitmap_init::@4
|
|
b4:
|
|
//SEG365 [193] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
//SEG366 [194] if((byte) bitmap_init::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@3 -- vbuxx_neq_0_then_la1
|
|
cpx #0
|
|
bne b3
|
|
//SEG367 bitmap_init::@return
|
|
//SEG368 [195] return
|
|
rts
|
|
//SEG369 [196] phi from bitmap_init::@1 to bitmap_init::@6 [phi:bitmap_init::@1->bitmap_init::@6]
|
|
//SEG370 bitmap_init::@6
|
|
//SEG371 [179] phi from bitmap_init::@6 to bitmap_init::@2 [phi:bitmap_init::@6->bitmap_init::@2]
|
|
//SEG372 [179] phi (byte) bitmap_init::bits#4 = (byte) bitmap_init::bits#1 [phi:bitmap_init::@6->bitmap_init::@2#0] -- register_copy
|
|
}
|
|
// Tables for the plotter - initialized by calling bitmap_draw_init();
|
|
bitmap_plot_xlo: .fill $100, 0
|
|
bitmap_plot_xhi: .fill $100, 0
|
|
bitmap_plot_ylo: .fill $100, 0
|
|
bitmap_plot_yhi: .fill $100, 0
|
|
bitmap_plot_bit: .fill $100, 0
|
|
lines_x: .byte $3c, $50, $6e, $50, $3c, $28, $a, $28, $3c
|
|
lines_y: .byte $a, $28, $3c, $50, $6e, $50, $3c, $28, $a
|
|
|