extern io_get_udec io_print_udec
section .bss
nu1 resd 1
de1 resd 1
nu2 resd 1
de2 resd 1
section .text
global main
main:
call io_get_udec
mov ebx, eax
call io_get_udec
mov [nu1], eax
call io_get_udec
mov [de1], eax
sub ebx, 1
.L1:
cmp ebx, 0
je .final
call io_get_dec
mul [de1]
mov [nu2], edx
call io_get_dec
mov [de2], eax
mul [nu1]
mov [nu1], edx
mov eax, [de2]
mul [de1]
mov [de1], edx
add [nu1], [nu2]
sub ebx, 1
jmp .L1
.final
mov eax, [nu1]
call io_print_udec
mov eax, [de1]
call io_print_udec
xor eax, eax
ret