mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-11-18 04:08:58 +00:00
324 lines
18 KiB
INI
324 lines
18 KiB
INI
@begin: scope:[] from
|
|
[0] phi()
|
|
to:@1
|
|
@1: scope:[] from @begin
|
|
[1] phi()
|
|
[2] call main
|
|
to:@end
|
|
@end: scope:[] from @1
|
|
[3] phi()
|
|
|
|
(void()) main()
|
|
main: scope:[main] from @1
|
|
asm { sei }
|
|
[5] *((const byte*) PROCPORT_DDR) ← (const byte) PROCPORT_DDR_MEMORY_MASK
|
|
[6] *((const byte*) PROCPORT) ← (const byte) PROCPORT_RAM_IO
|
|
[7] *((const byte*) D011) ← (const byte) VIC_BMM|(const byte) VIC_DEN|(const byte) VIC_RSEL|(byte) 3
|
|
to:main::vicSelectGfxBank1
|
|
main::vicSelectGfxBank1: scope:[main] from main
|
|
[8] *((const byte*) CIA2_PORT_A_DDR) ← (byte) 3
|
|
to:main::vicSelectGfxBank1_toDd001
|
|
main::vicSelectGfxBank1_toDd001: scope:[main] from main::vicSelectGfxBank1
|
|
[9] phi()
|
|
to:main::vicSelectGfxBank1_@1
|
|
main::vicSelectGfxBank1_@1: scope:[main] from main::vicSelectGfxBank1_toDd001
|
|
[10] *((const byte*) CIA2_PORT_A) ← (const byte) main::vicSelectGfxBank1_toDd001_return#0
|
|
to:main::toD0181
|
|
main::toD0181: scope:[main] from main::vicSelectGfxBank1_@1
|
|
[11] phi()
|
|
to:main::@4
|
|
main::@4: scope:[main] from main::toD0181
|
|
[12] *((const byte*) D018) ← (const byte) main::toD0181_return#0
|
|
[13] call bitmap_init
|
|
to:main::@5
|
|
main::@5: scope:[main] from main::@4
|
|
[14] phi()
|
|
[15] call bitmap_clear
|
|
to:main::@6
|
|
main::@6: scope:[main] from main::@5
|
|
[16] phi()
|
|
[17] call screen_fill
|
|
to:main::@1
|
|
main::@1: scope:[main] from main::@6 main::@8
|
|
[18] (byte) main::i#2 ← phi( main::@6/(byte) 0 main::@8/(byte) main::i#1 )
|
|
[19] (byte) point_init::point_idx#0 ← (byte) main::i#2
|
|
[20] call point_init
|
|
to:main::@7
|
|
main::@7: scope:[main] from main::@1
|
|
[21] (byte~) main::$10 ← (byte) main::i#2 << (byte) 1
|
|
[22] (word) bitmap_plot::x#0 ← *((const word*) x_start + (byte~) main::$10)
|
|
[23] (byte) bitmap_plot::y#0 ← *((const byte*) y_start + (byte) main::i#2)
|
|
[24] call bitmap_plot
|
|
to:main::@8
|
|
main::@8: scope:[main] from main::@7
|
|
[25] (byte) main::i#1 ← ++ (byte) main::i#2
|
|
[26] if((byte) main::i#1!=(const byte) SIZE-(byte) 1+(byte) 1) goto main::@1
|
|
to:main::@2
|
|
main::@2: scope:[main] from main::@2 main::@3 main::@8
|
|
[27] if(*((const byte*) RASTER)!=(byte) $ff) goto main::@2
|
|
to:main::@3
|
|
main::@3: scope:[main] from main::@2
|
|
[28] *((const byte*) BORDERCOL) ← ++ *((const byte*) BORDERCOL)
|
|
to:main::@2
|
|
|
|
(void()) bitmap_plot((word) bitmap_plot::x , (byte) bitmap_plot::y)
|
|
bitmap_plot: scope:[bitmap_plot] from main::@7
|
|
[29] (word) bitmap_plot::plotter#0 ← *((const byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#0) w= *((const byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#0)
|
|
[30] (word~) bitmap_plot::$1 ← (word) bitmap_plot::x#0 & (word) $fff8
|
|
[31] (byte*) bitmap_plot::plotter#1 ← (byte*)(word) bitmap_plot::plotter#0 + (word~) bitmap_plot::$1
|
|
[32] (byte~) bitmap_plot::$2 ← < (word) bitmap_plot::x#0
|
|
[33] *((byte*) bitmap_plot::plotter#1) ← *((byte*) bitmap_plot::plotter#1) | *((const byte*) bitmap_plot_bit + (byte~) bitmap_plot::$2)
|
|
to:bitmap_plot::@return
|
|
bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot
|
|
[34] return
|
|
to:@return
|
|
|
|
(void()) point_init((byte) point_init::point_idx)
|
|
point_init: scope:[point_init] from main::@1
|
|
[35] (byte~) point_init::$18 ← (byte) point_init::point_idx#0 << (byte) 1
|
|
[36] (signed word) point_init::x_diff#1 ← (signed word)*((const word*) x_end + (byte~) point_init::$18) - (signed word)*((const word*) x_start + (byte~) point_init::$18)
|
|
[37] (signed word~) point_init::$3 ← (signed word)*((const byte*) y_end + (byte) point_init::point_idx#0)
|
|
[38] (signed word~) point_init::$4 ← (signed word)*((const byte*) y_start + (byte) point_init::point_idx#0)
|
|
[39] (signed word) point_init::y_diff#0 ← (signed word~) point_init::$3 - (signed word~) point_init::$4
|
|
to:point_init::abs16s1
|
|
point_init::abs16s1: scope:[point_init] from point_init
|
|
[40] if((signed word) point_init::x_diff#1<(signed byte) 0) goto point_init::abs16s1_@1
|
|
to:point_init::abs16s1_@3
|
|
point_init::abs16s1_@3: scope:[point_init] from point_init::abs16s1
|
|
[41] (word) point_init::abs16s1_return#6 ← (word)(signed word) point_init::x_diff#1
|
|
to:point_init::abs16s1_@return
|
|
point_init::abs16s1_@return: scope:[point_init] from point_init::abs16s1_@1 point_init::abs16s1_@3
|
|
[42] (word) point_init::abs16s1_return#2 ← phi( point_init::abs16s1_@1/(word) point_init::abs16s1_return#5 point_init::abs16s1_@3/(word) point_init::abs16s1_return#6 )
|
|
to:point_init::abs16s2
|
|
point_init::abs16s2: scope:[point_init] from point_init::abs16s1_@return
|
|
[43] if((signed word) point_init::y_diff#0<(signed byte) 0) goto point_init::abs16s2_@1
|
|
to:point_init::abs16s2_@3
|
|
point_init::abs16s2_@3: scope:[point_init] from point_init::abs16s2
|
|
[44] (word) point_init::abs16s2_return#6 ← (word)(signed word) point_init::y_diff#0
|
|
to:point_init::abs16s2_@return
|
|
point_init::abs16s2_@return: scope:[point_init] from point_init::abs16s2_@1 point_init::abs16s2_@3
|
|
[45] (word) point_init::abs16s2_return#2 ← phi( point_init::abs16s2_@1/(word) point_init::abs16s2_return#5 point_init::abs16s2_@3/(word) point_init::abs16s2_return#6 )
|
|
to:point_init::@6
|
|
point_init::@6: scope:[point_init] from point_init::abs16s2_@return
|
|
[46] if((word) point_init::abs16s1_return#2>(word) point_init::abs16s2_return#2) goto point_init::@1
|
|
to:point_init::@2
|
|
point_init::@2: scope:[point_init] from point_init::@6 point_init::@7
|
|
[47] (byte~) point_init::$20 ← (byte) point_init::point_idx#0 << (byte) 1
|
|
[48] (word~) point_init::$9 ← *((const word*) x_start + (byte~) point_init::$20) << (byte) 4
|
|
[49] *((const word*) x_cur + (byte~) point_init::$20) ← (word~) point_init::$9
|
|
[50] (word~) point_init::$10 ← (word)*((const byte*) y_start + (byte) point_init::point_idx#0)
|
|
[51] (word~) point_init::$11 ← (word~) point_init::$10 << (byte) 4
|
|
[52] *((const word*) y_cur + (byte~) point_init::$20) ← (word~) point_init::$11
|
|
[53] *((const byte*) delay + (byte) point_init::point_idx#0) ← (const byte) DELAY
|
|
to:point_init::@return
|
|
point_init::@return: scope:[point_init] from point_init::@2
|
|
[54] return
|
|
to:@return
|
|
point_init::@1: scope:[point_init] from point_init::@6
|
|
[55] if((signed word) point_init::x_diff#1<(signed byte) 0) goto point_init::@4
|
|
to:point_init::@3
|
|
point_init::@3: scope:[point_init] from point_init::@1
|
|
[56] *((const signed byte*) x_add + (byte) point_init::point_idx#0) ← (signed byte) $10
|
|
to:point_init::@5
|
|
point_init::@5: scope:[point_init] from point_init::@3 point_init::@4
|
|
[57] (signed word) divr16s::divisor#0 ← (signed word) point_init::x_diff#1
|
|
[58] (signed word) divr16s::rem#0 ← (signed word) point_init::y_diff#0
|
|
[59] call divr16s
|
|
[60] (signed word) divr16s::return#3 ← (signed word) divr16s::return#2
|
|
to:point_init::@7
|
|
point_init::@7: scope:[point_init] from point_init::@5
|
|
[61] (signed word) point_init::x_stepf#0 ← (signed word) divr16s::return#3
|
|
[62] (byte~) point_init::$14 ← > (signed word) point_init::x_stepf#0
|
|
[63] (byte~) point_init::$16 ← (byte~) point_init::$14 >> (byte) 4
|
|
[64] *((const signed byte*) y_add + (byte) point_init::point_idx#0) ← (signed byte)(byte~) point_init::$16
|
|
to:point_init::@2
|
|
point_init::@4: scope:[point_init] from point_init::@1
|
|
[65] *((const signed byte*) x_add + (byte) point_init::point_idx#0) ← (signed byte) -$10
|
|
to:point_init::@5
|
|
point_init::abs16s2_@1: scope:[point_init] from point_init::abs16s2
|
|
[66] (signed word) point_init::abs16s2_return#0 ← - (signed word) point_init::y_diff#0
|
|
[67] (word) point_init::abs16s2_return#5 ← (word)(signed word) point_init::abs16s2_return#0
|
|
to:point_init::abs16s2_@return
|
|
point_init::abs16s1_@1: scope:[point_init] from point_init::abs16s1
|
|
[68] (signed word) point_init::abs16s1_return#0 ← - (signed word) point_init::x_diff#1
|
|
[69] (word) point_init::abs16s1_return#5 ← (word)(signed word) point_init::abs16s1_return#0
|
|
to:point_init::abs16s1_@return
|
|
|
|
(signed word()) divr16s((signed word) divr16s::dividend , (signed word) divr16s::divisor , (signed word) divr16s::rem)
|
|
divr16s: scope:[divr16s] from point_init::@5
|
|
[70] phi()
|
|
to:divr16s::@10
|
|
divr16s::@10: scope:[divr16s] from divr16s
|
|
[71] if((signed word) divr16s::rem#0<(signed byte) 0) goto divr16s::@1
|
|
to:divr16s::@6
|
|
divr16s::@6: scope:[divr16s] from divr16s::@10
|
|
[72] (word) divr16s::remu#8 ← (word)(signed word) divr16s::rem#0
|
|
to:divr16s::@2
|
|
divr16s::@2: scope:[divr16s] from divr16s::@1 divr16s::@6
|
|
[73] (word) divr16s::remu#3 ← phi( divr16s::@1/(word) divr16s::remu#7 divr16s::@6/(word) divr16s::remu#8 )
|
|
[73] (byte) divr16s::neg#3 ← phi( divr16s::@1/(byte) 1 divr16s::@6/(byte) 0 )
|
|
[74] if((signed word) divr16s::divisor#0<(signed byte) 0) goto divr16s::@3
|
|
to:divr16s::@7
|
|
divr16s::@7: scope:[divr16s] from divr16s::@2
|
|
[75] (word) divr16s::divisoru#5 ← (word)(signed word) divr16s::divisor#0
|
|
to:divr16s::@4
|
|
divr16s::@4: scope:[divr16s] from divr16s::@3 divr16s::@7
|
|
[76] (byte) divr16s::neg#4 ← phi( divr16s::@3/(byte) divr16s::neg#2 divr16s::@7/(byte) divr16s::neg#3 )
|
|
[76] (word) divr16s::divisoru#3 ← phi( divr16s::@3/(word) divr16s::divisoru#4 divr16s::@7/(word) divr16s::divisoru#5 )
|
|
[77] (word) divr16u::divisor#0 ← (word) divr16s::divisoru#3
|
|
[78] (word) divr16u::rem#3 ← (word) divr16s::remu#3
|
|
[79] call divr16u
|
|
[80] (word) divr16u::return#2 ← (word) divr16u::return#0
|
|
to:divr16s::@9
|
|
divr16s::@9: scope:[divr16s] from divr16s::@4
|
|
[81] (word) divr16s::resultu#0 ← (word) divr16u::return#2
|
|
[82] if((byte) divr16s::neg#4==(byte) 0) goto divr16s::@5
|
|
to:divr16s::@8
|
|
divr16s::@8: scope:[divr16s] from divr16s::@9
|
|
[83] (signed word) divr16s::return#1 ← - (signed word)(word) divr16s::resultu#0
|
|
to:divr16s::@return
|
|
divr16s::@return: scope:[divr16s] from divr16s::@5 divr16s::@8
|
|
[84] (signed word) divr16s::return#2 ← phi( divr16s::@8/(signed word) divr16s::return#1 divr16s::@5/(signed word) divr16s::return#7 )
|
|
[85] return
|
|
to:@return
|
|
divr16s::@5: scope:[divr16s] from divr16s::@9
|
|
[86] (signed word) divr16s::return#7 ← (signed word)(word) divr16s::resultu#0
|
|
to:divr16s::@return
|
|
divr16s::@3: scope:[divr16s] from divr16s::@2
|
|
[87] (signed word) divr16s::divisoru#1 ← - (signed word) divr16s::divisor#0
|
|
[88] (byte) divr16s::neg#2 ← (byte) divr16s::neg#3 ^ (byte) 1
|
|
[89] (word) divr16s::divisoru#4 ← (word)(signed word) divr16s::divisoru#1
|
|
to:divr16s::@4
|
|
divr16s::@1: scope:[divr16s] from divr16s::@10
|
|
[90] (signed word) divr16s::remu#1 ← - (signed word) divr16s::rem#0
|
|
[91] (word) divr16s::remu#7 ← (word)(signed word) divr16s::remu#1
|
|
to:divr16s::@2
|
|
|
|
(word()) divr16u((word) divr16u::dividend , (word) divr16u::divisor , (word) divr16u::rem)
|
|
divr16u: scope:[divr16u] from divr16s::@4
|
|
[92] phi()
|
|
to:divr16u::@1
|
|
divr16u::@1: scope:[divr16u] from divr16u divr16u::@3
|
|
[93] (byte) divr16u::i#2 ← phi( divr16u/(byte) 0 divr16u::@3/(byte) divr16u::i#1 )
|
|
[93] (word) divr16u::quotient#3 ← phi( divr16u/(byte) 0 divr16u::@3/(word) divr16u::return#0 )
|
|
[93] (word) divr16u::dividend#2 ← phi( divr16u/(word) 0 divr16u::@3/(word) divr16u::dividend#0 )
|
|
[93] (word) divr16u::rem#4 ← phi( divr16u/(word) divr16u::rem#3 divr16u::@3/(word) divr16u::rem#9 )
|
|
[94] (word) divr16u::rem#0 ← (word) divr16u::rem#4 << (byte) 1
|
|
[95] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2
|
|
[96] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte) $80
|
|
[97] if((byte~) divr16u::$2==(byte) 0) goto divr16u::@2
|
|
to:divr16u::@4
|
|
divr16u::@4: scope:[divr16u] from divr16u::@1
|
|
[98] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte) 1
|
|
to:divr16u::@2
|
|
divr16u::@2: scope:[divr16u] from divr16u::@1 divr16u::@4
|
|
[99] (word) divr16u::rem#5 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 )
|
|
[100] (word) divr16u::dividend#0 ← (word) divr16u::dividend#2 << (byte) 1
|
|
[101] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte) 1
|
|
[102] if((word) divr16u::rem#5<(word) divr16u::divisor#0) goto divr16u::@3
|
|
to:divr16u::@5
|
|
divr16u::@5: scope:[divr16u] from divr16u::@2
|
|
[103] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1
|
|
[104] (word) divr16u::rem#2 ← (word) divr16u::rem#5 - (word) divr16u::divisor#0
|
|
to:divr16u::@3
|
|
divr16u::@3: scope:[divr16u] from divr16u::@2 divr16u::@5
|
|
[105] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 )
|
|
[105] (word) divr16u::rem#9 ← phi( divr16u::@2/(word) divr16u::rem#5 divr16u::@5/(word) divr16u::rem#2 )
|
|
[106] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2
|
|
[107] if((byte) divr16u::i#1!=(byte) $10) goto divr16u::@1
|
|
to:divr16u::@return
|
|
divr16u::@return: scope:[divr16u] from divr16u::@3
|
|
[108] return
|
|
to:@return
|
|
|
|
(void()) screen_fill((byte*) screen_fill::screen , (byte) screen_fill::ch)
|
|
screen_fill: scope:[screen_fill] from main::@6
|
|
[109] phi()
|
|
to:screen_fill::@1
|
|
screen_fill::@1: scope:[screen_fill] from screen_fill screen_fill::@3
|
|
[110] (byte) screen_fill::y#4 ← phi( screen_fill/(byte) 0 screen_fill::@3/(byte) screen_fill::y#1 )
|
|
[110] (byte*) screen_fill::screen#3 ← phi( screen_fill/(const byte*) SCREEN screen_fill::@3/(byte*) screen_fill::screen#1 )
|
|
to:screen_fill::@2
|
|
screen_fill::@2: scope:[screen_fill] from screen_fill::@1 screen_fill::@2
|
|
[111] (byte) screen_fill::x#2 ← phi( screen_fill::@1/(byte) 0 screen_fill::@2/(byte) screen_fill::x#1 )
|
|
[111] (byte*) screen_fill::screen#2 ← phi( screen_fill::@1/(byte*) screen_fill::screen#3 screen_fill::@2/(byte*) screen_fill::screen#1 )
|
|
[112] *((byte*) screen_fill::screen#2) ← (const byte) screen_fill::ch#0
|
|
[113] (byte*) screen_fill::screen#1 ← ++ (byte*) screen_fill::screen#2
|
|
[114] (byte) screen_fill::x#1 ← ++ (byte) screen_fill::x#2
|
|
[115] if((byte) screen_fill::x#1!=(byte) $28) goto screen_fill::@2
|
|
to:screen_fill::@3
|
|
screen_fill::@3: scope:[screen_fill] from screen_fill::@2
|
|
[116] (byte) screen_fill::y#1 ← ++ (byte) screen_fill::y#4
|
|
[117] if((byte) screen_fill::y#1!=(byte) $19) goto screen_fill::@1
|
|
to:screen_fill::@return
|
|
screen_fill::@return: scope:[screen_fill] from screen_fill::@3
|
|
[118] return
|
|
to:@return
|
|
|
|
(void()) bitmap_clear()
|
|
bitmap_clear: scope:[bitmap_clear] from main::@5
|
|
[119] (word) bitmap_clear::bitmap#0 ← *((const byte*) bitmap_plot_yhi) w= *((const byte*) bitmap_plot_ylo)
|
|
[120] (byte*) bitmap_clear::bitmap#5 ← (byte*)(word) bitmap_clear::bitmap#0
|
|
to:bitmap_clear::@1
|
|
bitmap_clear::@1: scope:[bitmap_clear] from bitmap_clear bitmap_clear::@3
|
|
[121] (byte) bitmap_clear::y#4 ← phi( bitmap_clear/(byte) 0 bitmap_clear::@3/(byte) bitmap_clear::y#1 )
|
|
[121] (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
|
|
[122] (byte) bitmap_clear::x#2 ← phi( bitmap_clear::@1/(byte) 0 bitmap_clear::@2/(byte) bitmap_clear::x#1 )
|
|
[122] (byte*) bitmap_clear::bitmap#2 ← phi( bitmap_clear::@1/(byte*) bitmap_clear::bitmap#3 bitmap_clear::@2/(byte*) bitmap_clear::bitmap#1 )
|
|
[123] *((byte*) bitmap_clear::bitmap#2) ← (byte) 0
|
|
[124] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2
|
|
[125] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2
|
|
[126] if((byte) bitmap_clear::x#1!=(byte) $c8) goto bitmap_clear::@2
|
|
to:bitmap_clear::@3
|
|
bitmap_clear::@3: scope:[bitmap_clear] from bitmap_clear::@2
|
|
[127] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4
|
|
[128] if((byte) bitmap_clear::y#1!=(byte) $28) goto bitmap_clear::@1
|
|
to:bitmap_clear::@return
|
|
bitmap_clear::@return: scope:[bitmap_clear] from bitmap_clear::@3
|
|
[129] return
|
|
to:@return
|
|
|
|
(void()) bitmap_init((byte*) bitmap_init::bitmap)
|
|
bitmap_init: scope:[bitmap_init] from main::@4
|
|
[130] phi()
|
|
to:bitmap_init::@1
|
|
bitmap_init::@1: scope:[bitmap_init] from bitmap_init bitmap_init::@2
|
|
[131] (byte) bitmap_init::x#2 ← phi( bitmap_init/(byte) 0 bitmap_init::@2/(byte) bitmap_init::x#1 )
|
|
[131] (byte) bitmap_init::bits#3 ← phi( bitmap_init/(byte) $80 bitmap_init::@2/(byte) bitmap_init::bits#4 )
|
|
[132] *((const byte*) bitmap_plot_bit + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3
|
|
[133] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte) 1
|
|
[134] if((byte) bitmap_init::bits#1!=(byte) 0) goto bitmap_init::@6
|
|
to:bitmap_init::@2
|
|
bitmap_init::@6: scope:[bitmap_init] from bitmap_init::@1
|
|
[135] phi()
|
|
to:bitmap_init::@2
|
|
bitmap_init::@2: scope:[bitmap_init] from bitmap_init::@1 bitmap_init::@6
|
|
[136] (byte) bitmap_init::bits#4 ← phi( bitmap_init::@6/(byte) bitmap_init::bits#1 bitmap_init::@1/(byte) $80 )
|
|
[137] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2
|
|
[138] if((byte) bitmap_init::x#1!=(byte) 0) goto bitmap_init::@1
|
|
to:bitmap_init::@3
|
|
bitmap_init::@3: scope:[bitmap_init] from bitmap_init::@2 bitmap_init::@4
|
|
[139] (byte*) bitmap_init::yoffs#2 ← phi( bitmap_init::@2/(const byte*) BITMAP bitmap_init::@4/(byte*) bitmap_init::yoffs#4 )
|
|
[139] (byte) bitmap_init::y#2 ← phi( bitmap_init::@2/(byte) 0 bitmap_init::@4/(byte) bitmap_init::y#1 )
|
|
[140] (byte~) bitmap_init::$7 ← (byte) bitmap_init::y#2 & (byte) 7
|
|
[141] (byte~) bitmap_init::$4 ← < (byte*) bitmap_init::yoffs#2
|
|
[142] (byte~) bitmap_init::$5 ← (byte~) bitmap_init::$7 | (byte~) bitmap_init::$4
|
|
[143] *((const byte*) bitmap_plot_ylo + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$5
|
|
[144] (byte~) bitmap_init::$6 ← > (byte*) bitmap_init::yoffs#2
|
|
[145] *((const byte*) bitmap_plot_yhi + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$6
|
|
[146] if((byte~) bitmap_init::$7!=(byte) 7) goto bitmap_init::@4
|
|
to:bitmap_init::@5
|
|
bitmap_init::@5: scope:[bitmap_init] from bitmap_init::@3
|
|
[147] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (word)(number) $28*(number) 8
|
|
to:bitmap_init::@4
|
|
bitmap_init::@4: scope:[bitmap_init] from bitmap_init::@3 bitmap_init::@5
|
|
[148] (byte*) bitmap_init::yoffs#4 ← phi( bitmap_init::@3/(byte*) bitmap_init::yoffs#2 bitmap_init::@5/(byte*) bitmap_init::yoffs#1 )
|
|
[149] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2
|
|
[150] if((byte) bitmap_init::y#1!=(byte) 0) goto bitmap_init::@3
|
|
to:bitmap_init::@return
|
|
bitmap_init::@return: scope:[bitmap_init] from bitmap_init::@4
|
|
[151] return
|
|
to:@return
|