1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-10-21 17:24:39 +00:00
kickc/src/test/ref/bitmap-line-anim-2.cfg
2020-05-02 11:38:51 +02:00

257 lines
14 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] *((const nomodify byte*) BORDER_COLOR) ← (byte) 0
[5] *((const nomodify byte*) BG_COLOR) ← (byte) 0
[6] *((const nomodify byte*) D011) ← (const nomodify byte) VIC_BMM|(const nomodify byte) VIC_DEN|(const nomodify byte) VIC_RSEL|(byte) 3
[7] *((const nomodify byte*) VIC_MEMORY) ← (byte)(word)(const nomodify byte*) SCREEN&(word) $3fff/(byte) $40|(word)(const nomodify byte*) BITMAP&(word) $3fff/(word) $400
[8] call bitmap_init
to:main::@3
main::@3: scope:[main] from main
[9] phi()
[10] call bitmap_clear
to:main::@1
main::@1: scope:[main] from main::@2 main::@3
[11] (word) next#5 ← phi( main::@2/(word) next#3 main::@3/(word) 0 )
[12] (word) bitmap_line::x2#0 ← (word) next#5
[13] call bitmap_line
to:main::@4
main::@4: scope:[main] from main::@1
[14] (word) next#1 ← ++ (word) next#5
[15] if((word) next#1!=(word) $140) goto main::@5
to:main::@2
main::@5: scope:[main] from main::@4
[16] phi()
to:main::@2
main::@2: scope:[main] from main::@4 main::@5
[17] (word) next#3 ← phi( main::@4/(byte) 0 main::@5/(word) next#1 )
to:main::@1
(void()) bitmap_line((word) bitmap_line::x1 , (word) bitmap_line::y1 , (word) bitmap_line::x2 , (word) bitmap_line::y2)
bitmap_line: scope:[bitmap_line] from main::@1
[18] (word) abs_u16::w#0 ← (word) bitmap_line::x2#0
[19] call abs_u16
[20] (word) abs_u16::return#0 ← (word) abs_u16::return#4
to:bitmap_line::@12
bitmap_line::@12: scope:[bitmap_line] from bitmap_line
[21] (word) bitmap_line::dx#0 ← (word) abs_u16::return#0
[22] call abs_u16
[23] (word) abs_u16::return#1 ← (word) abs_u16::return#4
to:bitmap_line::@13
bitmap_line::@13: scope:[bitmap_line] from bitmap_line::@12
[24] (word) bitmap_line::dy#0 ← (word) abs_u16::return#1
[25] if((word) bitmap_line::dx#0!=(byte) 0) goto bitmap_line::@1
to:bitmap_line::@18
bitmap_line::@18: scope:[bitmap_line] from bitmap_line::@13
[26] if((word) bitmap_line::dy#0==(byte) 0) goto bitmap_line::@4
to:bitmap_line::@1
bitmap_line::@1: scope:[bitmap_line] from bitmap_line::@13 bitmap_line::@18
[27] (word) sgn_u16::w#0 ← (word) bitmap_line::x2#0
[28] call sgn_u16
[29] (word) sgn_u16::return#0 ← (word) sgn_u16::return#4
to:bitmap_line::@14
bitmap_line::@14: scope:[bitmap_line] from bitmap_line::@1
[30] (word) bitmap_line::sx#0 ← (word) sgn_u16::return#0
[31] call sgn_u16
[32] (word) sgn_u16::return#1 ← (word) sgn_u16::return#4
to:bitmap_line::@15
bitmap_line::@15: scope:[bitmap_line] from bitmap_line::@14
[33] (word) bitmap_line::sy#0 ← (word) sgn_u16::return#1
[34] if((word) bitmap_line::dx#0>(word) bitmap_line::dy#0) goto bitmap_line::@2
to:bitmap_line::@5
bitmap_line::@5: scope:[bitmap_line] from bitmap_line::@15
[35] (word) bitmap_line::e#0 ← (word) bitmap_line::dx#0 >> (byte) 1
to:bitmap_line::@6
bitmap_line::@6: scope:[bitmap_line] from bitmap_line::@5 bitmap_line::@7
[36] (word) bitmap_line::e#3 ← phi( bitmap_line::@5/(word) bitmap_line::e#0 bitmap_line::@7/(word) bitmap_line::e#6 )
[36] (word) bitmap_line::y#4 ← phi( bitmap_line::@5/(const word) bitmap_line::y1#0 bitmap_line::@7/(word) bitmap_line::y#1 )
[36] (word) bitmap_line::x#13 ← phi( bitmap_line::@5/(const word) bitmap_line::x1#0 bitmap_line::@7/(word) bitmap_line::x#12 )
[37] (word) bitmap_plot::x#1 ← (word) bitmap_line::x#13
[38] (byte) bitmap_plot::y#1 ← (byte)(word) bitmap_line::y#4
[39] call bitmap_plot
to:bitmap_line::@16
bitmap_line::@16: scope:[bitmap_line] from bitmap_line::@6
[40] (word) bitmap_line::y#1 ← (word) bitmap_line::y#4 + (word) bitmap_line::sy#0
[41] (word) bitmap_line::e#1 ← (word) bitmap_line::e#3 + (word) bitmap_line::dx#0
[42] if((word) bitmap_line::dy#0>=(word) bitmap_line::e#1) goto bitmap_line::@7
to:bitmap_line::@8
bitmap_line::@8: scope:[bitmap_line] from bitmap_line::@16
[43] (word) bitmap_line::x#1 ← (word) bitmap_line::x#13 + (word) bitmap_line::sx#0
[44] (word) bitmap_line::e#2 ← (word) bitmap_line::e#1 - (word) bitmap_line::dy#0
to:bitmap_line::@7
bitmap_line::@7: scope:[bitmap_line] from bitmap_line::@16 bitmap_line::@8
[45] (word) bitmap_line::e#6 ← phi( bitmap_line::@16/(word) bitmap_line::e#1 bitmap_line::@8/(word) bitmap_line::e#2 )
[45] (word) bitmap_line::x#12 ← phi( bitmap_line::@16/(word) bitmap_line::x#13 bitmap_line::@8/(word) bitmap_line::x#1 )
[46] if((word) bitmap_line::y#1!=(const word) bitmap_line::y2#0) goto bitmap_line::@6
to:bitmap_line::@3
bitmap_line::@3: scope:[bitmap_line] from bitmap_line::@10 bitmap_line::@7
[47] (word) bitmap_line::y#7 ← phi( bitmap_line::@10/(word) bitmap_line::y#13 bitmap_line::@7/(word) bitmap_line::y#1 )
[47] (word) bitmap_line::x#6 ← phi( bitmap_line::@10/(word) bitmap_line::x#15 bitmap_line::@7/(word) bitmap_line::x#12 )
[48] (word) bitmap_plot::x#2 ← (word) bitmap_line::x#6
[49] (byte) bitmap_plot::y#2 ← (byte)(word) bitmap_line::y#7
[50] call bitmap_plot
to:bitmap_line::@return
bitmap_line::@return: scope:[bitmap_line] from bitmap_line::@3 bitmap_line::@4
[51] return
to:@return
bitmap_line::@2: scope:[bitmap_line] from bitmap_line::@15
[52] (word) bitmap_line::e1#0 ← (word) bitmap_line::dy#0 >> (byte) 1
to:bitmap_line::@9
bitmap_line::@9: scope:[bitmap_line] from bitmap_line::@10 bitmap_line::@2
[53] (word) bitmap_line::e1#3 ← phi( bitmap_line::@10/(word) bitmap_line::e1#6 bitmap_line::@2/(word) bitmap_line::e1#0 )
[53] (word) bitmap_line::y#15 ← phi( bitmap_line::@10/(word) bitmap_line::y#13 bitmap_line::@2/(const word) bitmap_line::y1#0 )
[53] (word) bitmap_line::x#7 ← phi( bitmap_line::@10/(word) bitmap_line::x#15 bitmap_line::@2/(const word) bitmap_line::x1#0 )
[54] (word) bitmap_plot::x#3 ← (word) bitmap_line::x#7
[55] (byte) bitmap_plot::y#3 ← (byte)(word) bitmap_line::y#15
[56] call bitmap_plot
to:bitmap_line::@17
bitmap_line::@17: scope:[bitmap_line] from bitmap_line::@9
[57] (word) bitmap_line::x#15 ← (word) bitmap_line::x#7 + (word) bitmap_line::sx#0
[58] (word) bitmap_line::e1#1 ← (word) bitmap_line::e1#3 + (word) bitmap_line::dy#0
[59] if((word) bitmap_line::dx#0>=(word) bitmap_line::e1#1) goto bitmap_line::@10
to:bitmap_line::@11
bitmap_line::@11: scope:[bitmap_line] from bitmap_line::@17
[60] (word) bitmap_line::y#2 ← (word) bitmap_line::y#15 + (word) bitmap_line::sy#0
[61] (word) bitmap_line::e1#2 ← (word) bitmap_line::e1#1 - (word) bitmap_line::dx#0
to:bitmap_line::@10
bitmap_line::@10: scope:[bitmap_line] from bitmap_line::@11 bitmap_line::@17
[62] (word) bitmap_line::e1#6 ← phi( bitmap_line::@11/(word) bitmap_line::e1#2 bitmap_line::@17/(word) bitmap_line::e1#1 )
[62] (word) bitmap_line::y#13 ← phi( bitmap_line::@11/(word) bitmap_line::y#2 bitmap_line::@17/(word) bitmap_line::y#15 )
[63] if((word) bitmap_line::x#15!=(word) bitmap_line::x2#0) goto bitmap_line::@9
to:bitmap_line::@3
bitmap_line::@4: scope:[bitmap_line] from bitmap_line::@18
[64] phi()
[65] call bitmap_plot
to:bitmap_line::@return
(void()) bitmap_plot((word) bitmap_plot::x , (byte) bitmap_plot::y)
bitmap_plot: scope:[bitmap_plot] from bitmap_line::@3 bitmap_line::@4 bitmap_line::@6 bitmap_line::@9
[66] (word) bitmap_plot::x#4 ← phi( bitmap_line::@3/(word) bitmap_plot::x#2 bitmap_line::@4/(const word) bitmap_line::x1#0 bitmap_line::@6/(word) bitmap_plot::x#1 bitmap_line::@9/(word) bitmap_plot::x#3 )
[66] (byte) bitmap_plot::y#4 ← phi( bitmap_line::@3/(byte) bitmap_plot::y#2 bitmap_line::@4/(byte) 0 bitmap_line::@6/(byte) bitmap_plot::y#1 bitmap_line::@9/(byte) bitmap_plot::y#3 )
[67] (word) bitmap_plot::plotter#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4)
[68] (word~) bitmap_plot::$0 ← (word) bitmap_plot::x#4 & (word) $fff8
[69] (byte*) bitmap_plot::plotter#1 ← (byte*)(word) bitmap_plot::plotter#0 + (word~) bitmap_plot::$0
[70] (byte~) bitmap_plot::$1 ← < (word) bitmap_plot::x#4
[71] *((byte*) bitmap_plot::plotter#1) ← *((byte*) bitmap_plot::plotter#1) | *((const to_nomodify byte*) bitmap_plot_bit + (byte~) bitmap_plot::$1)
to:bitmap_plot::@return
bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot
[72] return
to:@return
(word()) sgn_u16((word) sgn_u16::w)
sgn_u16: scope:[sgn_u16] from bitmap_line::@1 bitmap_line::@14
[73] (word) sgn_u16::w#2 ← phi( bitmap_line::@1/(word) sgn_u16::w#0 bitmap_line::@14/(const word) bitmap_line::y2#0 )
[74] (byte~) sgn_u16::$0 ← > (word) sgn_u16::w#2
[75] (byte~) sgn_u16::$1 ← (byte~) sgn_u16::$0 & (byte) $80
[76] if((byte) 0!=(byte~) sgn_u16::$1) goto sgn_u16::@1
to:sgn_u16::@return
sgn_u16::@1: scope:[sgn_u16] from sgn_u16
[77] phi()
to:sgn_u16::@return
sgn_u16::@return: scope:[sgn_u16] from sgn_u16 sgn_u16::@1
[78] (word) sgn_u16::return#4 ← phi( sgn_u16::@1/(byte) -1 sgn_u16/(byte) 1 )
[79] return
to:@return
(word()) abs_u16((word) abs_u16::w)
abs_u16: scope:[abs_u16] from bitmap_line bitmap_line::@12
[80] (word) abs_u16::w#2 ← phi( bitmap_line/(word) abs_u16::w#0 bitmap_line::@12/(const word) bitmap_line::y2#0 )
[81] (byte~) abs_u16::$0 ← > (word) abs_u16::w#2
[82] (byte~) abs_u16::$1 ← (byte~) abs_u16::$0 & (byte) $80
[83] if((byte) 0!=(byte~) abs_u16::$1) goto abs_u16::@1
to:abs_u16::@return
abs_u16::@1: scope:[abs_u16] from abs_u16
[84] (word) abs_u16::return#2 ← - (word) abs_u16::w#2
to:abs_u16::@return
abs_u16::@return: scope:[abs_u16] from abs_u16 abs_u16::@1
[85] (word) abs_u16::return#4 ← phi( abs_u16::@1/(word) abs_u16::return#2 abs_u16/(word) abs_u16::w#2 )
[86] return
to:@return
(void()) bitmap_clear((byte) bitmap_clear::bgcol , (byte) bitmap_clear::fgcol)
bitmap_clear: scope:[bitmap_clear] from main::@3
[87] phi()
[88] call memset
to:bitmap_clear::@1
bitmap_clear::@1: scope:[bitmap_clear] from bitmap_clear
[89] phi()
[90] call memset
to:bitmap_clear::@return
bitmap_clear::@return: scope:[bitmap_clear] from bitmap_clear::@1
[91] return
to:@return
(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
memset: scope:[memset] from bitmap_clear bitmap_clear::@1
[92] (byte) memset::c#4 ← phi( bitmap_clear/(const byte) bitmap_clear::col#0 bitmap_clear::@1/(byte) 0 )
[92] (void*) memset::str#3 ← phi( bitmap_clear/(void*)(const nomodify byte*) SCREEN bitmap_clear::@1/(void*)(const nomodify byte*) BITMAP )
[92] (word) memset::num#2 ← phi( bitmap_clear/(word) $3e8 bitmap_clear::@1/(word) $1f40 )
[93] if((word) memset::num#2<=(byte) 0) goto memset::@return
to:memset::@1
memset::@1: scope:[memset] from memset
[94] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (word) memset::num#2
[95] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3
to:memset::@2
memset::@2: scope:[memset] from memset::@1 memset::@3
[96] (byte*) memset::dst#2 ← phi( memset::@1/(byte*) memset::dst#4 memset::@3/(byte*) memset::dst#1 )
[97] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3
to:memset::@return
memset::@return: scope:[memset] from memset memset::@2
[98] return
to:@return
memset::@3: scope:[memset] from memset::@2
[99] *((byte*) memset::dst#2) ← (byte) memset::c#4
[100] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2
to:memset::@2
(void()) bitmap_init((byte*) bitmap_init::gfx , (byte*) bitmap_init::screen)
bitmap_init: scope:[bitmap_init] from main
[101] phi()
to:bitmap_init::@1
bitmap_init::@1: scope:[bitmap_init] from bitmap_init bitmap_init::@2
[102] (byte) bitmap_init::x#2 ← phi( bitmap_init/(byte) 0 bitmap_init::@2/(byte) bitmap_init::x#1 )
[102] (byte) bitmap_init::bits#3 ← phi( bitmap_init/(byte) $80 bitmap_init::@2/(byte) bitmap_init::bits#4 )
[103] *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3
[104] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte) 1
[105] 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
[106] phi()
to:bitmap_init::@2
bitmap_init::@2: scope:[bitmap_init] from bitmap_init::@1 bitmap_init::@6
[107] (byte) bitmap_init::bits#4 ← phi( bitmap_init::@6/(byte) bitmap_init::bits#1 bitmap_init::@1/(byte) $80 )
[108] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2
[109] 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
[110] (byte*) bitmap_init::yoffs#2 ← phi( bitmap_init::@2/(const nomodify byte*) BITMAP bitmap_init::@4/(byte*) bitmap_init::yoffs#4 )
[110] (byte) bitmap_init::y#2 ← phi( bitmap_init::@2/(byte) 0 bitmap_init::@4/(byte) bitmap_init::y#1 )
[111] (byte~) bitmap_init::$7 ← (byte) bitmap_init::y#2 & (byte) 7
[112] (byte~) bitmap_init::$4 ← < (byte*) bitmap_init::yoffs#2
[113] (byte~) bitmap_init::$5 ← (byte~) bitmap_init::$7 | (byte~) bitmap_init::$4
[114] *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$5
[115] (byte~) bitmap_init::$6 ← > (byte*) bitmap_init::yoffs#2
[116] *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$6
[117] 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
[118] (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
[119] (byte*) bitmap_init::yoffs#4 ← phi( bitmap_init::@3/(byte*) bitmap_init::yoffs#2 bitmap_init::@5/(byte*) bitmap_init::yoffs#1 )
[120] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2
[121] 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
[122] return
to:@return