Wednesday, February 16, 2011

Factorial of a number

Share Orkut
print macro msg lea dx,msg mov ah,09h int 21h endm read macro n,j1,j2 mov cx,0ah j1:mov ah,01h int 21h cmp al,0dh je j2 sub al,30h mov bl,al mov ax,n mul cx xor bh,bh add ax,bx mov n,ax jmp j1 j2 :nop endm .model small .stack 100h .data msg1 db 10,13,'Enter the number: $' msg2 db 10,13,'Factorial: $' n dw 0 .code main proc mov ax,@data mov ds,ax print msg1 ;reading 1st multidigit number read n,jump1,jump2 print msg2 ;Find factorial of 'n' mov ax,01 loop1:cmp n,00 je jump3 mul n dec n jmp loop1 jump3:call printmul mov ah,4ch int 21h main endp printmul proc mov bx,000ah xor cx,cx ;push into stack l2:xor dx,dx div bx push dx inc cx cmp ax,0000h jne l2 ;pop from stack l3:pop dx add dl,30h mov ah,02h int 21h loop l3 ret printmul endp end

No comments:

Post a Comment