; School of Computer Engineering ; K.N. Toosi University of Technology global fact, var1 segment .data var1: dd 22 segment .text fact: enter 0,0 mov eax, [ebp+8] cmp eax, 0 jg recur mov eax, 1 jmp endfact recur: dec eax push eax call fact add esp, 4 imul dword [ebp+8] endfact: leave ret