From a2724c4e41a62995276230153d3458295ebba12a Mon Sep 17 00:00:00 2001 From: Mylloon Date: Sun, 31 Dec 2023 16:03:27 +0100 Subject: [PATCH] 7 --- flap/questions/retrolixToX86_64/07.retrolix | 27 +++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/flap/questions/retrolixToX86_64/07.retrolix b/flap/questions/retrolixToX86_64/07.retrolix index e69de29..b653317 100644 --- a/flap/questions/retrolixToX86_64/07.retrolix +++ b/flap/questions/retrolixToX86_64/07.retrolix @@ -0,0 +1,27 @@ + +def fact () + local x: + jumpif lte %rdi, 1 -> fini, rec; + + fini: + %rax <- copy 1; + ret; + + rec: + x <- copy %rdi; + %rdi <- sub %rdi, 1; + fact(); + %rax <- mul %rax, x; + ret; +end + +globals (x) + x <- copy 5; + + %rdi <- copy x; + fact(); + x <- copy %rax; + + %rdi <- copy x; + observe_int(); +end