Friday, 25 October 2013

program to find factorial of a given no.

        ORG 000H
        SJMP START
        RESH EQU 30H
        RESL EQU 30H
        TEMP EQU 50H
START : MOV A,#_H  /* ENTER THE NO. TO FIND THE FACTORIAL */
        MOV R0,#31H
        MOV RESL,A
        MOV R1,A
ABOVE : DJNZ R1,DOWN
        SJMP EXIT
 DOWN : ACALL MULTIPLY
        SJMP ABOVE
 EXIT : SJMP EXIT

MULTIPLY : MOV A,@R0
           MOV B,R1
           MUL AB
           MOV @R0,A
           MOV TEMP,B
           DEC R0
           MOV A,@R0
           MOV B,R1
           MUL AB
           ADD A,TEMP
           MOV @R0,A
           INC R0
           RET END

No comments:

Post a Comment