stk segment stackn3 db 20 dup(0)
data segment
top label word
stk endsn1 db 04h
data ends
n2 db ?
code segmentassume cs:code , ds:data , ss:stk
code ends
start:
mov ax,data
mov ds,ax
mov ax,stk
mov ss,ax
lea sp,top
mov al,01h
mov bl,n1
call facto
mov n2,bl
mov ah,4ch
int 21h
facto proc near
pushf
push cx
cmp bl,01h
je cout
mul bl
dec bl
call
facto
cout:mov bl,al
popf
pop cx
ret
end start