1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-09-29 03:56:15 +00:00
kickc/src/test/ref/procedure-callingconvention-stack-13.cfg

30 lines
829 B
INI
Raw Normal View History

2020-10-05 20:58:02 +00:00
__stackcall byte pow2(byte pow2::n)
pow2: scope:[pow2] from
2020-10-05 20:58:02 +00:00
[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
2020-10-05 20:58:02 +00:00
[2] pow2::$1 = pow2::n#0 - 1
[3] stackpush(byte) = pow2::$1
2020-06-27 19:18:00 +00:00
[4] callexecute pow2
2020-10-05 20:58:02 +00:00
[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
2020-10-05 20:58:02 +00:00
[7] pow2::return#2 = phi( pow2/1, pow2::@1/pow2::return#1 )
[8] stackidx(byte,pow2::OFFSET_STACK_RETURN) = pow2::return#2
2020-06-27 19:18:00 +00:00
[9] return
to:@return
2020-10-05 20:58:02 +00:00
void main()
2020-06-27 19:18:00 +00:00
main: scope:[main] from
2020-10-05 20:58:02 +00:00
[10] stackpush(byte) = 6
2020-06-27 19:18:00 +00:00
[11] callexecute pow2
2020-10-05 20:58:02 +00:00
[12] main::$0 = stackpull(byte)
[13] *SCREEN = main::$0
2020-06-27 19:18:00 +00:00
to:main::@return
main::@return: scope:[main] from main
[14] return
to:@return