Files
rasp/tests/call.asm
2020-02-26 10:19:26 -05:00

37 lines
532 B
NASM

.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
}