1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-09-29 03:56:15 +00:00
kickc/src/test/ref/signed-words.cfg
2020-05-02 11:38:51 +02:00

94 lines
4.5 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
[4] phi()
[5] call init
to:main::@1
main::@1: scope:[main] from main main::@1 main::@2
[6] (signed word) yvel_init#13 ← phi( main::@1/(signed word) yvel_init#13 main/(signed word) $64 main::@2/(signed word) yvel_init#11 )
[6] (signed word) xvel#12 ← phi( main::@1/(signed word) xvel#12 main/(signed word) $c8 main::@2/(signed word) xvel#10 )
[6] (signed word) ypos#13 ← phi( main::@1/(signed word) ypos#13 main/(signed word) 0 main::@2/(signed word) ypos#11 )
[6] (signed word) xpos#12 ← phi( main::@1/(signed word) xpos#12 main/(signed word) 0 main::@2/(signed word) xpos#10 )
[6] (signed word) yvel#12 ← phi( main::@1/(signed word) yvel#12 main/(signed word) $64 main::@2/(signed word) yvel#10 )
[7] if(*((const nomodify byte*) RASTER)!=(byte) $ff) goto main::@1
to:main::@2
main::@2: scope:[main] from main::@1
[8] phi()
[9] call anim
to:main::@1
(void()) anim()
anim: scope:[anim] from main::@2
[10] if((signed word) ypos#13>=(signed byte) 0) goto anim::@1
to:anim::@2
anim::@2: scope:[anim] from anim
[11] (signed word) xvel#14 ← - (signed word) xvel#12
[12] (signed word) yvel_init#3 ← (signed word) yvel_init#13 - (signed byte) $a
[13] if((signed word) yvel_init#3>=(signed word) -$c8) goto anim::@4
to:anim::@3
anim::@4: scope:[anim] from anim::@2
[14] phi()
to:anim::@3
anim::@3: scope:[anim] from anim::@2 anim::@4
[15] (signed word) yvel#4 ← phi( anim::@4/(signed word) yvel_init#3 anim::@2/(signed word) $c8 )
[16] (signed word) yvel#21 ← (signed word) yvel#4
to:anim::@1
anim::@1: scope:[anim] from anim anim::@3
[17] (signed word) yvel_init#11 ← phi( anim/(signed word) yvel_init#13 anim::@3/(signed word) yvel#4 )
[17] (signed word) ypos#10 ← phi( anim/(signed word) ypos#13 anim::@3/(signed byte) 0 )
[17] (signed word) xvel#10 ← phi( anim/(signed word) xvel#12 anim::@3/(signed word) xvel#14 )
[17] (signed word) xpos#9 ← phi( anim/(signed word) xpos#12 anim::@3/(signed byte) 0 )
[17] (signed word) yvel#9 ← phi( anim/(signed word) yvel#12 anim::@3/(signed word) yvel#21 )
[18] (signed word) yvel#10 ← (signed word) yvel#9 + (const nomodify signed word) g
[19] (signed word) xpos#10 ← (signed word) xpos#9 + (signed word) xvel#10
[20] (signed word) ypos#11 ← (signed word) ypos#10 + (signed word) yvel#10
[21] (signed word~) anim::$5 ← (signed word) xpos#10 >> (signed byte) 7
[22] (signed word) anim::sprite_x#0 ← (signed word~) anim::$5 + (signed word) $a0
[23] (signed word~) anim::$7 ← (signed word) ypos#11 >> (signed byte) 5
[24] (signed word) anim::sprite_y#0 ← (signed word) $e6 - (signed word~) anim::$7
[25] *((const nomodify byte*) SPRITES_XPOS) ← (byte)(signed word) anim::sprite_x#0
[26] *((const nomodify byte*) SPRITES_YPOS) ← (byte)(signed word) anim::sprite_y#0
[27] (byte~) anim::$9 ← > (signed word) anim::sprite_x#0
[28] *((const nomodify byte*) SPRITES_XMSB) ← (byte~) anim::$9
to:anim::@return
anim::@return: scope:[anim] from anim::@1
[29] return
to:@return
(void()) init()
init: scope:[init] from main
[30] *((const nomodify byte*) SPRITES_ENABLE) ← (byte) 1
[31] *((const nomodify byte*) SPRITES_EXPAND_X) ← (byte) 0
[32] *((const nomodify byte*) SPRITES_EXPAND_Y) ← (byte) 0
[33] *((const nomodify byte*) SPRITES_XPOS) ← (byte) $64
[34] *((const nomodify byte*) SPRITES_YPOS) ← (byte) $64
[35] *((const nomodify byte*) SPRITES_COLOR) ← (const nomodify byte) WHITE
[36] *((const nomodify byte*) SPRITES_PTR) ← (byte)(const nomodify byte*) SPRITE/(byte) $40
to:init::@1
init::@1: scope:[init] from init init::@2
[37] (byte*) init::sc#2 ← phi( init/(const nomodify byte*) SCREEN init::@2/(byte*) init::sc#1 )
[38] if((byte*) init::sc#2!=(const nomodify byte*) SCREEN+(word) $3e8) goto init::@2
to:init::@3
init::@3: scope:[init] from init::@1 init::@3
[39] (byte) init::i#2 ← phi( init::@1/(byte) 0 init::@3/(byte) init::i#1 )
[40] *((const nomodify byte*) SPRITE + (byte) init::i#2) ← (byte) $ff
[41] (byte) init::i#1 ← ++ (byte) init::i#2
[42] if((byte) init::i#1!=(byte) $40) goto init::@3
to:init::@return
init::@return: scope:[init] from init::@3
[43] return
to:@return
init::@2: scope:[init] from init::@1
[44] *((byte*) init::sc#2) ← (byte) ' '
[45] (byte*) init::sc#1 ← ++ (byte*) init::sc#2
to:init::@1