mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-10-21 17:24:39 +00:00
74 lines
3.1 KiB
INI
74 lines
3.1 KiB
INI
@begin: scope:[] from
|
|
[0] (byte) idx ← (byte) 0
|
|
to:@1
|
|
@1: scope:[] from @begin
|
|
[1] phi()
|
|
[2] callexecute main
|
|
to:@end
|
|
@end: scope:[] from @1
|
|
[3] phi()
|
|
|
|
__stackcall (void()) print((byte) print::v_p1_x , (byte) print::v_p1_y , (byte) print::v_p2_x , (byte) print::v_p2_y)
|
|
print: scope:[print] from
|
|
[4] (byte) print::v_p1_x#0 ← stackidx(byte,(const byte) print::OFFSET_STACK_V_P1_X)
|
|
[5] (byte) print::v_p1_y#0 ← stackidx(byte,(const byte) print::OFFSET_STACK_V_P1_Y)
|
|
[6] (byte) print::v_p2_x#0 ← stackidx(byte,(const byte) print::OFFSET_STACK_V_P2_X)
|
|
[7] (byte) print::v_p2_y#0 ← stackidx(byte,(const byte) print::OFFSET_STACK_V_P2_Y)
|
|
[8] *((const nomodify byte*) SCREEN + (byte) idx) ← (byte) print::v_p1_x#0
|
|
[9] (byte) idx ← ++ (byte) idx
|
|
[10] *((const nomodify byte*) SCREEN + (byte) idx) ← (byte) print::v_p1_y#0
|
|
[11] (byte) idx ← ++ (byte) idx
|
|
[12] *((const nomodify byte*) SCREEN + (byte) idx) ← (byte) print::v_p2_x#0
|
|
[13] (byte) idx ← ++ (byte) idx
|
|
[14] *((const nomodify byte*) SCREEN + (byte) idx) ← (byte) print::v_p2_y#0
|
|
[15] (byte) idx ← ++ (byte) idx
|
|
[16] *((const nomodify byte*) SCREEN + (byte) idx) ← (byte) ' '
|
|
[17] (byte) idx ← ++ (byte) idx
|
|
to:print::@return
|
|
print::@return: scope:[print] from print
|
|
[18] return
|
|
to:@return
|
|
|
|
__stackcall (struct Vector()) get((byte) get::i)
|
|
get: scope:[get] from
|
|
[19] (byte) get::return_p1_x#0 ← stackidx(byte,(const byte) get::OFFSET_STACK_I)
|
|
[20] (byte) get::return_p1_y#0 ← (byte) get::return_p1_x#0 >> (byte) 1
|
|
[21] (byte) get::return_p2_x#0 ← (byte) get::return_p1_x#0 + (byte) 1
|
|
[22] (byte) get::return_p2_y#0 ← (byte) get::return_p1_x#0 << (byte) 1
|
|
to:get::@return
|
|
get::@return: scope:[get] from get
|
|
[23] stackidx(byte,(byte) 0) ← (byte) get::return_p1_x#0
|
|
[24] stackidx(byte,(const byte) OFFSET_STRUCT_POINT_Y) ← (byte) get::return_p1_y#0
|
|
[25] stackidx(byte,(const byte) OFFSET_STRUCT_VECTOR_P2) ← (byte) get::return_p2_x#0
|
|
[26] stackidx(byte,(const byte) OFFSET_STRUCT_VECTOR_P2+(const byte) OFFSET_STRUCT_POINT_Y) ← (byte) get::return_p2_y#0
|
|
[27] return
|
|
to:@return
|
|
|
|
__stackcall (void()) main()
|
|
main: scope:[main] from
|
|
[28] phi()
|
|
to:main::@1
|
|
main::@1: scope:[main] from main main::@2
|
|
[29] (byte) main::i#2 ← phi( main/(byte) 0 main::@2/(byte) main::i#1 )
|
|
[30] if((byte) main::i#2<(byte) 5) goto main::@2
|
|
to:main::@return
|
|
main::@return: scope:[main] from main::@1
|
|
[31] return
|
|
to:@return
|
|
main::@2: scope:[main] from main::@1
|
|
[32] stackpush(byte) ← (byte) main::i#2
|
|
sideeffect stackpushbytes((number) 3)
|
|
[34] callexecute get
|
|
[35] (byte) main::v_p1_x#0 ← stackpull(byte)
|
|
[36] (byte) main::v_p1_y#0 ← stackpull(byte)
|
|
[37] (byte) main::v_p2_x#0 ← stackpull(byte)
|
|
[38] (byte) main::v_p2_y#0 ← stackpull(byte)
|
|
[39] stackpush(byte) ← (byte) main::v_p1_x#0
|
|
[40] stackpush(byte) ← (byte) main::v_p1_y#0
|
|
[41] stackpush(byte) ← (byte) main::v_p2_x#0
|
|
[42] stackpush(byte) ← (byte) main::v_p2_y#0
|
|
[43] callexecute print
|
|
sideeffect stackpullbytes((number) 4)
|
|
[45] (byte) main::i#1 ← ++ (byte) main::i#2
|
|
to:main::@1
|