global main
extern exit
extern printf
extern scanf
section .text
main:
xor edx , edx
push dword a
push dword a1
call scanf
; ost edx
mov ebx , dword [ a]
mov eax , $ 1
mov ecx , $ 1
L1:
cmp ecx , ebx
je L2
inc eax
imul ecx , eax
jmp L1
L2:
Mov dword [ a] , eax
push dword [ a]
push a2
call printf
push dword 0
call exit
ret
section .data
a1 : db "%d" , 0
a2: db "%d" , 0xA , 0
section .bss
a: resd 1
b: resd 1
CgoKZ2xvYmFsIG1haW4KCmV4dGVybiBleGl0CmV4dGVybiBwcmludGYKZXh0ZXJuIHNjYW5mCgoKc2VjdGlvbiAudGV4dAoKbWFpbjoKICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgIAoKCgoKCgoKeG9yIGVkeCwgZWR4CnB1c2ggZHdvcmQgYQpwdXNoIGR3b3JkIGExCmNhbGwgc2NhbmYKOyBvc3QgZWR4CgoKbW92IGVieCwgZHdvcmQgW2FdCm1vdiBlYXgsICQxCm1vdiBlY3gsICQxCgogICAgICAgIEwxOiAgCiAgICAgICAgICAgICAgICBjbXAgZWN4LCBlYnggICAgICAgIAogICAgICAgICAgICAgICAgamUgTDIKICAgIGluYyBlYXggICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBpbXVsIGVjeCwgZWF4ICAgICAgIAogICAgICAgCiAgICAgICAgICAgICAgICBqbXAgTDEgICAgICAKICAgICAgICBMMjogICAKTW92IGR3b3JkIFthXSwgZWF4CgoKCgoKCgoKCnB1c2ggZHdvcmQgW2FdCnB1c2ggYTIKY2FsbCBwcmludGYKCgpwdXNoIGR3b3JkIDAKY2FsbCBleGl0IApyZXQKCnNlY3Rpb24gLmRhdGEKCgphMSA6IGRiICIlZCIsMAphMjogZGIgIiVkIiwweEEsMAoKc2VjdGlvbiAuYnNzCmE6IHJlc2QgMQpiOiByZXNkIDEKCg==