mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-09-29 03:56:15 +00:00
30 lines
829 B
INI
30 lines
829 B
INI
|
|
__stackcall byte pow2(byte pow2::n)
|
|
pow2: scope:[pow2] from
|
|
[0] pow2::n#0 = stackidx(byte,pow2::OFFSET_STACK_N)
|
|
[1] if(pow2::n#0==0) goto pow2::@return
|
|
to:pow2::@1
|
|
pow2::@1: scope:[pow2] from pow2
|
|
[2] pow2::$1 = pow2::n#0 - 1
|
|
[3] stackpush(byte) = pow2::$1
|
|
[4] callexecute pow2
|
|
[5] pow2::c#0 = stackpull(byte)
|
|
[6] pow2::return#1 = pow2::c#0 + pow2::c#0
|
|
to:pow2::@return
|
|
pow2::@return: scope:[pow2] from pow2 pow2::@1
|
|
[7] pow2::return#2 = phi( pow2/1, pow2::@1/pow2::return#1 )
|
|
[8] stackidx(byte,pow2::OFFSET_STACK_RETURN) = pow2::return#2
|
|
[9] return
|
|
to:@return
|
|
|
|
void main()
|
|
main: scope:[main] from
|
|
[10] stackpush(byte) = 6
|
|
[11] callexecute pow2
|
|
[12] main::$0 = stackpull(byte)
|
|
[13] *SCREEN = main::$0
|
|
to:main::@return
|
|
main::@return: scope:[main] from main
|
|
[14] return
|
|
to:@return
|