diff --git a/examples/factorial.asm b/examples/factorial.asm new file mode 100644 index 0000000..9444081 --- /dev/null +++ b/examples/factorial.asm @@ -0,0 +1,28 @@ +.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, $5 + call factorial + halt + + .export main +} + +.meta { + entry: main +}