.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 { ip: main }