This is an 8086 program to print out the fibonacci series. If you have any doubts please let me know.
.MODEL SMALL
.DATA
MSG DB 0AH,0DH,'ENTER THE LIMIT:','$'
LIMIT DB 20,0,20 DUP('$')
NEW DB 0AH,0DH,24H
FIBO DB 0AH,0DH,'FIBONACCI SERIES:',0AH,'$'
.CODE
START:
MOV AX,@DATA
MOV DS,AX
LEA DX,MSG
MOV AH,09H
INT 21H
LEA DX,LIMIT
MOV AH,0AH
INT 21H
ADD DX,02H
MOV SI,DX
MOV DI,DX
INC DI
MOV CX,0000H
MOV CX,[SI]
MOV AH,CL
MOV AL,CH
SUB AX,3030H
AAD
MOV CX,AX
MOV AX,0001H
MOV BX,0001H
INC SI
MOV [SI], AL
DEC CX
JZ CONT
INC SI
MOV [SI],BL
DEC CX
JZ CONT
AGAIN: ADD AL,BL
MOV [SI+01],AL
MOV BL,[SI]
INC SI
LOOP AGAIN
CONT:
LEA DX,FIBO
MOV AH,09H
INT 21H
MOV BL,24H
MOV [SI+1],BL
FIB:
MOV AX,0000H
MOV AL,[DI]
CALL DISPLAY
INC DI
MOV BL,[DI]
CMP BL,24H
JNE FIB
.EXIT
DISPLAY PROC
MOV BX, 000AH
MOV DX, 0000H
MOV CX, 0000H
L1: MOV DX, 0000H
DIV BX
PUSH DX
INC CX
CMP AX,00H
JNE L1
L2: POP DX
ADD DX, 30H
MOV AH, 02H
INT 21H
LOOP L2
LEA DX,NEW
MOV AH,09H
INT 21H
RET
DISPLAY ENDP
END START
.MODEL SMALL
.DATA
MSG DB 0AH,0DH,'ENTER THE LIMIT:','$'
LIMIT DB 20,0,20 DUP('$')
NEW DB 0AH,0DH,24H
FIBO DB 0AH,0DH,'FIBONACCI SERIES:',0AH,'$'
.CODE
START:
MOV AX,@DATA
MOV DS,AX
LEA DX,MSG
MOV AH,09H
INT 21H
LEA DX,LIMIT
MOV AH,0AH
INT 21H
ADD DX,02H
MOV SI,DX
MOV DI,DX
INC DI
MOV CX,0000H
MOV CX,[SI]
MOV AH,CL
MOV AL,CH
SUB AX,3030H
AAD
MOV CX,AX
MOV AX,0001H
MOV BX,0001H
INC SI
MOV [SI], AL
DEC CX
JZ CONT
INC SI
MOV [SI],BL
DEC CX
JZ CONT
AGAIN: ADD AL,BL
MOV [SI+01],AL
MOV BL,[SI]
INC SI
LOOP AGAIN
CONT:
LEA DX,FIBO
MOV AH,09H
INT 21H
MOV BL,24H
MOV [SI+1],BL
FIB:
MOV AX,0000H
MOV AL,[DI]
CALL DISPLAY
INC DI
MOV BL,[DI]
CMP BL,24H
JNE FIB
.EXIT
DISPLAY PROC
MOV BX, 000AH
MOV DX, 0000H
MOV CX, 0000H
L1: MOV DX, 0000H
DIV BX
PUSH DX
INC CX
CMP AX,00H
JNE L1
L2: POP DX
ADD DX, 30H
MOV AH, 02H
INT 21H
LOOP L2
LEA DX,NEW
MOV AH,09H
INT 21H
RET
DISPLAY ENDP
END START
dude i'am run out of words how to thnx you.
ReplyDeletei got 20 mark by this. thnx a lot
ReplyDeleteYour program does not exist the limiter, it goes beyond the limiter
This is not giving correct output.
ReplyDelete