%include "asm_io.inc"
segment .data
segment .bss
segment .text
    global asm_main
asm_main:
    enter 0,0
    pusha
    call    read_int
    push eax
    call fak_rekursiv
    add esp, 4
    call print_int
    call print_nl
    
    popa
    mov eax, 0
    leave
    ret
fak_rekursiv:
    enter 4, 0
    pusha
    
    mov eax, [ebp + 8]
    
    cmp eax, 0
    je ergebnis_1
    cmp eax, 1
    je ergebnis_1
    
    
    mov ebx, eax
    dec ebx
    mul ebx
    push ebx
    call fak_rekursiv
    pop ebx
            
    ergebnis:
        mov [ebp - 4], eax
        
    ergebnis_1:
        mov [ebp - 4], dword 1 
    popa
    mov eax, [ebp - 4]
    leave
    ret
I am learning to code on NASM and I was trying to understand recursion through using coding factorial but I got confused quickly.
How can I use Recursion in NASM to code factorial algorithm?
 
     
     
    
