From cd95011e7be34dc7e5c6282e03731a1f6ee8ffd2 Mon Sep 17 00:00:00 2001 From: Alek Ratzloff Date: Wed, 26 Feb 2020 10:19:26 -0500 Subject: [PATCH] Add function call test Signed-off-by: Alek Ratzloff --- tests/call.asm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 tests/call.asm diff --git a/tests/call.asm b/tests/call.asm new file mode 100644 index 0000000..2855513 --- /dev/null +++ b/tests/call.asm @@ -0,0 +1,36 @@ +.section data $0x1000 { + factorial: + cmplt %r0, $2 + jnz factorial_one + + push %r0 + sub %r0, $1 + call factorial + pop %r0 + mul %status, %r0 + jmp factorial_end + + factorial_one: + mov %status, $1 + factorial_end: + ret + + main: + mov %r0, $6 + call factorial + cmpeq %status, $720 + jz fail + mov %status, $0 + jmp end + fail: + mov %status, $1 + end: + halt + + .export main +} + +.meta { + entry: main +} +