0% found this document useful (0 votes)
24 views19 pages

Mic Microproject

This microproject report focuses on calculating the Fibonacci series using the 8086 microprocessor, detailing the implementation of assembly language programming, algorithm design, and optimization techniques. The project aims to enhance educational understanding of microprocessor programming while acknowledging the historical significance of the 8086 architecture. It includes sections on objectives, advantages and disadvantages, algorithm, flow chart, and program code for the Fibonacci series calculation.

Uploaded by

eonixgaming2001
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views19 pages

Mic Microproject

This microproject report focuses on calculating the Fibonacci series using the 8086 microprocessor, detailing the implementation of assembly language programming, algorithm design, and optimization techniques. The project aims to enhance educational understanding of microprocessor programming while acknowledging the historical significance of the 8086 architecture. It includes sections on objectives, advantages and disadvantages, algorithm, flow chart, and program code for the Fibonacci series calculation.

Uploaded by

eonixgaming2001
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 19

FIND THE NUMBER OF FIBONACCI SERIES

K. E. Society's

RAJARAMBAPU INSTITUTE OF TECHNOLOGY


(POLYTECHNIC) LOHAGOAN, PUNE
Tal. Haveli, Dist. Pune 411 047
Year 2023-24

A
Micro Project Report
On

“FIND THE NUMBER OF FIBONACCI SERIES 8086


MICROPROCESSOR”
Submitted in partial Fulfilment of the requirements for
Diploma in computer eneginerring
Of
M.S.B.T.E., MUMBAI
By
Sr. No. Name Middle Surname Roll No.
1. Omkar Shesherao Boinwad 89

UNDER THE GUIDANCE OF


MS. P. P. PATIL

SY AIML 1
FIND THE NUMBER OF FIBONACCI SERIES

K. E. Society's

RAJARAMBAPU INSTITUTE OF TECHNOLOGY


(POLYTECHNIC) LOHAGOAN, PUNE
Tal. Haveli, Dist. Pune 411 047
Year 2023-24

CERTIFICATE
This is to certify that,
Sr. No. Name Middle Surname Roll No.
1. Omkar Shesherao Boinwad 89

Students of Rajarambapu Institute of Technology (Polytechnic) Lohagoan, Pune have


satisfactorily completed the Microproject work on “FIND THE NUMBER OF FIBONACCI
SERIES 8086 MICROPROCESSOR” in partial fulfilment of Diploma in AIML of Maharashtra State
Board of Technical Education, Mumbai during the academic year 2023-2024.

MS. P. P. PATIL Mr. V. R. Saste Dr. K. H.


Munde

Guide HOD Principal

➢ ACKNOWLEDGEMENT

SY AIML 2
FIND THE NUMBER OF FIBONACCI SERIES

➢ I would like to express my sincere gratitude to all those who have contributed to
the completion of the microproject titled "Finding the Number of Fibonacci Series
in 8086 Microprocessor."

➢ We would like to express our sincere thanks to our guide, who has encouraged us
to work on this topic and valuable guidance wherever required. We wish to
express our thanks to Mr. V. R. Saste, Head of Dept. & Dr. K. H. Munde,
Principal, R.I.T.P., for their support and the help extended.

➢ I would also like to thank R.I.T.P college for providing the necessary resources
and facilities to carry out this project effectively. The conducive environment
fostered an atmosphere of learning and innovation, enabling me to explore the
intricacies of 8086 microprocessor programming.

➢ Furthermore, I extend my appreciation to my peers and classmates who offered


support and constructive feedback during various stages of the project. Their
collaboration and exchange of ideas were instrumental in overcoming challenges
and refining the project's execution.

➢ Lastly, I am grateful to my family and friends for their unwavering support and
encouragement throughout this endeavor. Their understanding and encouragement
provided me with the motivation to persevere and achieve the project's objectives.

➢ Together, the collective efforts of all those involved have contributed to the
successful completion of this microproject, and for that, your sincerely thankful.

➢ INDEX

Sr. No. Title Page No.

SY AIML 3
FIND THE NUMBER OF FIBONACCI SERIES

1. Abstract 1

2. Introduction 2

3. Features 3

4. Objective

5. Advantages And Disadvantages 4

6. Algorithm

7. Flow Chart 5

8. Program 7

9. Output 8

10. Conclusion 9

11. References

➢ Abstract

➢ This microproject delves into the implementation of the Fibonacci series calculation on the 8086
microprocessors, a widely used 16-bit microprocessor in the early days of computing. The
Fibonacci series, characterized by the sum of the two preceding terms to generate the next,
serves as an interesting algorithmic challenge to be executed on a constrained architecture like
the 8086.The primary objectives include:

SY AIML 4
FIND THE NUMBER OF FIBONACCI SERIES

• Assembly Language Programming: Developing efficient assembly language code


to compute the Fibonacci series on the 8086 microprocessors. This involves understanding
the instruction set, registers, and memory management of the 8086 architectures.

• Algorithmic Design: Designing an algorithm that optimally utilizes the limited


resources of the 8086 microprocessors for calculating Fibonacci numbers. This includes
considerations for efficient memory usage and execution speed.

• Testing and Optimization: Rigorous testing of the implemented code to ensure


correctness and identifying areas for optimization. Optimizations may include minimizing
memory access, reducing unnecessary instructions, and enhancing overall performance.

• Documentation and Presentation: Creating comprehensive documentation that


explains the code, algorithm, and any optimizations made. A clear and concise presentation
will be developed to convey the project's methodology, challenges faced, and solutions
found.

• Comparative Analysis: Comparing the performance of the 8086 microprocessor-based


Fibonacci series calculator with implementations on more modern architectures. This
comparative analysis aims to highlight the limitations and strengths of the 8086
microprocessors in executing algorithmic tasks.

➢ Introduction
➢ The "Finding the Number of Fibonacci Series in 8086 Microprocessor" merges the realms of
classical mathematical problem-solving and low-level assembly language programming on the
iconic 8086 microprocessor. In this exploration, the project endeavours to unravel the Fibonacci
series, a timeless sequence defined by the sum of its two preceding terms, within the constraints
and nuances of the 16-bit architecture of the 8086 microprocessors.

• Project Objectives: -
The primary goal of this microproject is to design and implement an efficient assembly language
program capable of calculating the Fibonacci series on the 8086 microprocessors. This task
necessitates a deep understanding of the processor's instruction set, careful management of registers,
and the application of optimization techniques to ensure the effective execution of the algorithm.
The project aims to achieve the following key objectives:
SY AIML 5
FIND THE NUMBER OF FIBONACCI SERIES

• Algorithmic Implementation: -
Develop a robust assembly language code that successfully computes the Fibonacci series on the
8086 microprocessors. This phase of the project underscores the synergy between algorithmic
design and the intricacies of assembly language programming.

• Resource Optimization: -
Address the challenges posed by limited resources within the 8086 microprocessors by optimizing
code for memory usage and execution speed. The project places a premium on efficiency,
showcasing the ability to achieve optimal performance within the constraints of the chosen
architecture.

• Educational significance: -
Serve as an educational resource for enthusiasts and learners interested in delving into
microprocessor programming and algorithmic exploration. The microproject offers a practical lens
through which to understand the application of assembly language in solving classic mathematical
problems.

• Significance of the Microproject: -


Beyond its technical objectives, this microproject holds significance as it brings together historical
computing architecture and contemporary problem-solving. The 8086 microprocessors, a trailblazer
in the evolution of computing, becomes a canvas for creative expression and exploration. By
unraveling the Fibonacci series within the confines of this iconic processor, the project pays
homage to the roots of computing while showcasing adaptability and ingenuity in algorithmic
innovation.

➢ Features

➢ Powerful Instruction Set: - The 8086 microprocessor boasts a rich and versatile
instruction set, providing a wide range of operations to perform various tasks. Its instruction set
includes arithmetic, logical, and control operations, enabling the execution of complex
programs.

➢ Multiple General-Purpose Registers: - The availability of multiple general-purpose


registers, including AX, BX, CX, and DX, allows for efficient data manipulation and storage.
These registers can be used for various purposes, enhancing the flexibility of programming.

SY AIML 6
FIND THE NUMBER OF FIBONACCI SERIES

➢ Effective Address Calculation: - The 8086 includes powerful addressing modes and
effective address calculation mechanisms. This feature simplifies the process of accessing data
in memory, contributing to the processor's overall efficiency.

➢ Bi-Directional Data Bus:- The 8086 features a bi-directional data bus, allowing data to be
transferred bidirectional between the processor and memory. This feature enhances data transfer
rates and contributes to the overall speed of the microprocessor.

➢ Interrupt Handling: The 8086 supports interrupt handling, enabling the processor to
respond to external events promptly. This feature is crucial for real-time applications and
facilitates efficient multitasking.

➢ Compatibility with Earlier Processors: - The 8086 is backward compatible with the
8080 microprocessors, easing the transition for developers and facilitating the migration of
software from earlier systems to the newer architecture.

➢ Extended Versions: - The 8086 architectures have extended versions, such as the 80186
and
80286, which built upon its foundation. These versions introduced additional features and
improvements, contributing to the evolution of Intel's x86 architecture.

➢ Legacy Impact: - The 8086 microprocessor's legacy is profound, as it laid the groundwork
for subsequent generations of processors, influencing the design of modern CPUs. Its
architecture continues to shape the x86 architecture, making it a cornerstone in the history of
computing

.
➢ Objective

1. Algorithm Implementation:
Develop a robust assembly language program to accurately calculate the Fibonacci series on the
8086 microprocessors. This involves translating the Fibonacci algorithm into executable code,
taking into account the specific instructions and registers of the 8086 architectures.

SY AIML 7
FIND THE NUMBER OF FIBONACCI SERIES

2. Resource Optimization:
Address the challenges posed by the limited resources of the 8086 microprocessors by optimizing
the code for memory usage and execution speed. Strive to achieve efficiency in algorithmic
execution within the constraints of a 16-bit architecture.

3. Educational Value:
Serve as an educational resource for individuals interested in microprocessor programming and
algorithmic problem-solving. Provide insights into the practical application of assembly language
on a historical and foundational architecture like the 8086.

4. Documentation and Clarity:


Create comprehensive documentation that elucidates the code, algorithms, and optimization
techniques applied. Ensure clarity in the documentation to facilitate knowledge transfer, making the
project accessible to a broader audience.

5. Historical Appreciation:
Acknowledge and incorporate the historical significance of the 8086 microprocessors into the
project. Emphasize the enduring impact of this architecture on the evolution of computing, thereby
fostering an appreciation for the foundations of modern processors.

6. Code Modularity and Readability:


Design the assembly language code with a focus on modularity and readability. Aim to create code
that is not only efficient but also comprehensible, allowing for easier understanding and potential
modifications or enhancements.

7. Optimization Strategies:
Explore and implement optimization strategies that maximize the performance of the Fibonacci
series calculation on the 8086 microprocessors. This may include minimizing memory access,
reducing unnecessary instructions, and leveraging the available registers effectively.

➢ Advantages of Finding the Number of


Fibonacci Series in 8086 Microprocessor
1. Educational Value: -
The microproject provides an excellent educational resource for learning assembly language
programming on the 8086 microprocessors. It allows individuals to gain practical experience in
SY AIML 8
FIND THE NUMBER OF FIBONACCI SERIES

translating algorithms into executable code, enhancing their understanding of low-level


programming concepts.

2. Historical Appreciation: -
Working with the 8086 microprocessor allows for an appreciation of the historical roots of
computing. By choosing this architecture, the project pays homage to one of the pioneering
processors that laid the foundation for modern computing systems.

3. Resource Efficiency: -
The constraints of the 8086 microprocessors necessitate efficient use of resources. This
microproject encourages programmers to optimize code for memory usage and execution speed,
promoting resource-efficient programming practices.

4. Skill Development: -
Implementing the Fibonacci series calculation on the 8086 microprocessor enhances programming
skills, especially in assembly language. It provides an opportunity for individuals to develop
expertise in working with a specific architecture, which can be valuable for understanding other
historical or embedded systems.

5. Programming Practice: -
Implementing Fibonacci series algorithms serves as valuable programming
practice for individuals learning assembly language or low-level programming on the 8086
Microprocessor.

➢ Disadvantages of Finding the Number of Fibonacci Series in 8086


Microprocessor

1. Limited Resources:
The 8086 microprocessors have limited resources, including a restricted address space and a limited
number of registers. Working within these constraints can be challenging, especially when dealing
with large Fibonacci numbers that may require extensive memory.

SY AIML 9
FIND THE NUMBER OF FIBONACCI SERIES

2. Complex Memory Management:


The segmented memory model of the 8086 microprocessor introduces complexity in memory
management. Properly handling memory segments and offsets can be challenging and may require
additional effort and attention to detail.

3. Low Clock Speed:


The original 8086 microprocessor is known for relatively low clock speeds compared to modern
processors. This can result in slower execution times, especially when dealing with iterative or
recursive algorithms for calculating Fibonacci numbers.

4. Assembly Language Complexity:


Programming in assembly language, especially for a historical architecture like the 8086, can be
intricate and less intuitive compared to higher-level languages. The code may be more challenging
to read, write, and maintain, which could impede the learning process for some individuals.

5. Limited Instruction Set:


The instruction set of the 8086 microprocessors, while versatile, is not as extensive as those of more
modern architectures. This limitation may restrict the availability of certain operations or require
more complex sequences of instructions to achieve specific tasks.

➢ Algorithm

1. Input: Take the input from the user or have a predefined value for which you want to find
the Fibonacci number.

2. Initialize: Set up variables to hold the initial values of the Fibonacci sequence, typically
starting with 0 and 1.

3. Loop: Create a loop to generate subsequent Fibonacci numbers until reaching the desired
position.

4. Fibonacci Calculation: Inside the loop, calculate the next Fibonacci number by adding
the previous two numbers.

5. Output: Display or store the nth Fibonacci number.

SY AIML 10
FIND THE NUMBER OF FIBONACCI SERIES

6. End: End the program execution.

SY AIML 11
FIND THE NUMBER OF FIBONACCI SERIES

➢ Flow chart

SY AIML 12
FIND THE NUMBER OF FIBONACCI SERIES

➢ Program

.MODEL SMALL
.STACK 100h

.DATA
fibLimit DW 10 ; Define the limit of Fibonacci series
fibSeries DW 100 DUP(?) ; Define an array to store Fibonacci series

.CODE
MAIN PROC
mov ax, @data ; Initialize data segment
mov ds, ax

; Input: Get the limit of the Fibonacci series from the user mov ah, 01h
; Function to read a character from standard input, with echo int 21h
; Call DOS interrupt to read a character sub al, 30h ; Convert ASCII
character to binary mov bl, al ; Store the limit in bl

; Initialize variables mov cx, 2 ;


Counter for Fibonacci series mov si, OFFSET
fibSeries ; Point to the array mov [si], 0 ;
First Fibonacci number mov [si+2], 1 ;
Second Fibonacci number add si, 4 ;
Move to next index add cx, 2 ;
Increment counter

fibLoop: mov bx, [si-4] ; Load previous Fibonacci number


add bx, [si-2] ; Add the second previous Fibonacci number
mov [si], bx ; Store the next Fibonacci number add si, 2
; Move to next index inc cx ; Increment counter
cmp cx, fibLimit ; Compare with limit jge display ;
Jump if greater than or equal to the limit jmp fibLoop ;
Repeat Fibonacci calculation

SY AIML 13
FIND THE NUMBER OF FIBONACCI SERIES

display:
; Output: Display the Fibonacci series mov
cx, 0 ; Reset counter mov si, OFFSET
fibSeries ; Point to the array
mov ah, 02h ; Function to display a character

displayLoop:
mov ax, [si] ; Load the next Fibonacci number cmp ax, 0
; Check if Fibonacci number is zero je endProgram ; If true,
end program add ax, 30h ; Convert binary to ASCII
character int 21h ; Display the character add si,
2 ; Move to next index inc cx ; Increment counter
cmp cx, fibLimit ; Check if all Fibonacci numbers are displayed
jge endProgram ; If true, end program mov dl, ',' ; Load
the comma character int 21h ; Display the comma mov
dl, ' ' ; Load the space character int 21h ; Display the
space
jmp displayLoop ; Repeat display for the next Fibonacci number

endProgram:
mov ah, 4Ch ; Exit program
int 21h ; Call DOS interrupt

MAIN ENDP
END MAIN

SY AIML 14
FIND THE NUMBER OF FIBONACCI SERIES

➢ Output

SY AIML 15
FIND THE NUMBER OF FIBONACCI SERIES

➢ Conclusion

Concluding the task of finding the number of Fibonacci series using the 8086 microprocessor
involves several key points:

In conclusion, the provided assembly code effectively achieves the task of finding the number of
Fibonacci series using the 8086 microprocessors, demonstrating an understanding of algorithmic
principles, memory management, and program structure tailored for the target architecture.

SY AIML 16
FIND THE NUMBER OF FIBONACCI SERIES
➢ References

1. https://chatGPT.openai.com
2. https://www.scribd.com
3. https://www.geeksforgeeks.org.com
4. https://www.tutorialspoint.com
5. https://www.coursehero.com
6. https://www.mindluster.com

SY AIML

You might also like