1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-06-29 09:29:31 +00:00
kickc/src/test/ref/roll-sprite-msb.cfg

42 lines
1.6 KiB
INI

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