void main() main: scope:[main] from [0] phi() to:main::@1 main::@1: scope:[main] from main main::@2 [1] main::xpos#2 = phi( main/$c8, main::@2/main::xpos#1 ) [1] main::s#2 = phi( main/0, main::@2/main::s#1 ) [2] position_sprite::spriteno#0 = main::s#2 [3] position_sprite::x#0 = main::xpos#2 [4] call position_sprite to:main::@2 main::@2: scope:[main] from main::@1 [5] main::xpos#1 = main::xpos#2 + $a [6] main::s#1 = ++ main::s#2 [7] if(main::s#1!=8) goto main::@1 to:main::@return main::@return: scope:[main] from main::@2 [8] return to:@return void position_sprite(char spriteno , unsigned int x , char y) position_sprite: scope:[position_sprite] from main::@1 [9] position_sprite::$1 = position_sprite::spriteno#0 << 1 [10] SPRITES_YPOS[position_sprite::$1] = position_sprite::y#0 [11] position_sprite::$2 = byte0 position_sprite::x#0 [12] SPRITES_XPOS[position_sprite::$1] = position_sprite::$2 [13] if(position_sprite::x#0>$ff) goto position_sprite::@1 to:position_sprite::@2 position_sprite::@2: scope:[position_sprite] from position_sprite [14] position_sprite::$4 = 1 << position_sprite::spriteno#0 [15] position_sprite::$5 = position_sprite::$4 ^ $ff [16] *SPRITES_XMSB = *SPRITES_XMSB & position_sprite::$5 to:position_sprite::@return position_sprite::@return: scope:[position_sprite] from position_sprite::@1 position_sprite::@2 [17] return to:@return position_sprite::@1: scope:[position_sprite] from position_sprite [18] position_sprite::$6 = 1 << position_sprite::spriteno#0 [19] *SPRITES_XMSB = *SPRITES_XMSB | position_sprite::$6 to:position_sprite::@return