2020-03-10 15:59:36 -04:00
|
|
|
.section data 0x1000 {
|
2020-02-26 10:19:26 -05:00
|
|
|
factorial:
|
2020-03-10 15:59:36 -04:00
|
|
|
cmplt %r0, 2
|
2020-02-26 10:19:26 -05:00
|
|
|
jnz factorial_one
|
|
|
|
|
|
|
|
|
|
push %r0
|
2020-03-10 15:59:36 -04:00
|
|
|
sub %r0, 1
|
2020-02-26 10:19:26 -05:00
|
|
|
call factorial
|
|
|
|
|
pop %r0
|
|
|
|
|
mul %status, %r0
|
|
|
|
|
jmp factorial_end
|
|
|
|
|
|
|
|
|
|
factorial_one:
|
2020-03-10 15:59:36 -04:00
|
|
|
mov %status, 1
|
2020-02-26 10:19:26 -05:00
|
|
|
factorial_end:
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
main:
|
2020-03-10 15:59:36 -04:00
|
|
|
mov %r0, 6
|
2020-02-26 10:19:26 -05:00
|
|
|
call factorial
|
2020-03-10 15:59:36 -04:00
|
|
|
cmpeq %status, 720
|
2020-02-26 10:19:26 -05:00
|
|
|
jz fail
|
2020-03-10 15:59:36 -04:00
|
|
|
mov %status, 0
|
2020-02-26 10:19:26 -05:00
|
|
|
jmp end
|
|
|
|
|
fail:
|
2020-03-10 15:59:36 -04:00
|
|
|
mov %status, 1
|
2020-02-26 10:19:26 -05:00
|
|
|
end:
|
|
|
|
|
halt
|
|
|
|
|
|
|
|
|
|
.export main
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.meta {
|
2020-03-10 12:18:31 -04:00
|
|
|
ip: main
|
2020-02-26 10:19:26 -05:00
|
|
|
}
|
|
|
|
|
|