Professional Documents
Culture Documents
Abstract
The Intel 8086 is a 16-bit microprocessor that was introduced in 1978. It is the
first member of the x86 family of processors. The 8086 has a 16-bit data bus, 20-
bit address bus, and can address up to 1 MB of memory. It has a segmented
memory model, allowing it to access more memory than its 16-bit address bus
would normally allow. The 8086 also introduced the concept of protected mode,
which provides hardware support for multitasking and memory protection.
Page | 1
SY AIML [RITP, Pune]
Generate Fibonacci Series
Introduction
Page | 2
SY AIML [RITP, Pune]
Generate Fibonacci Series
2. 16-bit Data Bus: The 8086 had a 16-bit data bus, which allowed it to transfer 16
bits of data at a time between the processor and memory or other devices.
3. 20-bit Address Bus: With a 20-bit address bus, the 8086 could address up to 1 MB
of memory, providing greater memory capacity compared to earlier processors.
4. Segmented Memory Model: The 8086 used a segmented memory model, where
memory addresses were formed by combining a 16-bit segment address and a 16-bit
offset address. This allowed for flexible memory management.
5. Instruction Set: The 8086 had a rich instruction set, including a variety of data
movement, arithmetic, logical, and control transfer instructions. It supported both
signed and unsigned arithmetic operations.
6. Clock Speed: The original 8086 operated at a clock speed of 5 MHz. Later versions,
such as the 8086-2 and 8086-1, increased the clock speed to 8 MHz and 10 MHz,
respectively, improving performance.
8. Operating Modes: The 8086 supported two operating modes: real mode and
protected mode. Real mode provided a simple 16-bit operating environment, while
protected mode offered advanced memory protection and multitasking features.
Page | 3
SY AIML [RITP, Pune]
Generate Fibonacci Series
Industry Background
Page | 4
SY AIML [RITP, Pune]
Generate Fibonacci Series
Objective
The Intel 8086 microprocessor, like any other microprocessor, requires software
to function. Here are some of the key software requirements for the 8086:
1. Assembly Language: Programs for the 8086 are typically written in
assembly language, which provides a low-level interface to the processor's
instruction set. Assembly language programs are converted into machine
code, which the processor can execute directly.
2. Operating System: The 8086 can run a variety of operating systems,
including early versions of DOS (Disk Operating System) and CP/M
(Control Program for Microcomputers). These operating systems provide
higher-level functionality such as file management, memory management,
and input/output operations.
3. Device Drivers: To interact with peripherals such as keyboards, displays,
and storage devices, the 8086 requires device drivers. These are software
modules that enable the operating system to communicate with and control
external devices.
4. Application Software: The 8086 can run a wide range of application
software, including word processors, spreadsheets, games, and other
programs. These applications are typically written in higher-level
languages such as C or Pascal, and compiled into machine code that the
processor can execute.
5. Development Tools: To develop software for the 8086, developers need
tools such as assemblers, compilers, and debuggers. These tools help
programmers write, test, and debug software for the processor.
Page | 5
SY AIML [RITP, Pune]
Generate Fibonacci Series
Page | 6
SY AIML [RITP, Pune]
Generate Fibonacci Series
Page | 7
SY AIML [RITP, Pune]
Generate Fibonacci Series
Input:
Output:
Page | 8
SY AIML [RITP, Pune]
Generate Fibonacci Series
Advantages
1. 16-bit Architecture
2. Backward Compatibility
3. Segmented Memory Model (up to 1 MB)
4. Powerful Instruction Set
5. Improved Performance
6. Expansion Capabilities
Disadvantages
Application
Page | 9
SY AIML [RITP, Pune]
Generate Fibonacci Series
Software Requirement
The Intel 8086 microprocessor, like any other microprocessor, requires software
to function. Here are some of the key software requirements for the 8086:
1. Assembly Language: Programs for the 8086 are typically written in
assembly language, which provides a low-level interface to the processor's
instruction set. Assembly language programs are converted into machine
code, which the processor can execute directly.
2. Operating System: The 8086 can run a variety of operating systems,
including early versions of DOS (Disk Operating System) and CP/M
(Control Program for Microcomputers). These operating systems provide
higher-level functionality such as file management, memory management,
and input/output operations.
3. Device Drivers: To interact with peripherals such as keyboards, displays,
and storage devices, the 8086 requires device drivers. These are software
modules that enable the operating system to communicate with and control
external devices.
4. Application Software: The 8086 can run a wide range of application
software, including word processors, spreadsheets, games, and other
programs. These applications are typically written in higher-level
languages such as C or Pascal, and compiled into machine code that the
processor can execute.
5. Development Tools: To develop software for the 8086, developers need
tools such as assemblers, compilers, and debuggers. These tools help
programmers write, test, and debug software for the processor.
Page | 10
SY AIML [RITP, Pune]
Generate Fibonacci Series
Hardware Requirement
The Intel 8086 microprocessor, like any other microprocessor, requires certain
hardware components to function properly. Here are the key hardware
requirements for the 8086:
1. Clock Generator: The 8086 requires a clock signal to synchronize its
internal operations. A clock generator provides this signal, typically at a
frequency of 5, 8, or 10 MHz, depending on the specific 8086 variant.
2. Memory: The 8086 requires memory to store program instructions and
data. It supports a segmented memory model, allowing it to address up to
1 MB of memory. This memory can be in the form of RAM (Random
Access Memory) and ROM (Read-Only Memory).
3. Address Bus: The 8086 has a 20-bit address bus, which allows it to address
up to 1 MB of memory. The address bus is used to specify the memory
location of instructions and data.
4. Data Bus: The 8086 has a 16-bit data bus, which is used to transfer data
between the processor and memory or between the processor and I/O
devices. The data bus carries the actual data being processed by the
processor.
5. Control Bus: The 8086 uses a control bus to communicate control signals
between the processor and other components. These signals include
read/write signals, status signals, and bus control signals.
6. Input/Output (I/O) Ports: The 8086 requires I/O ports to communicate
with external devices such as keyboards, displays, and storage devices.
These ports provide a way for the processor to send and receive data from
external devices.
7. Power Supply: Like any electronic component, the 8086 requires a stable
power supply to operate. The power supply provides the necessary voltage
and current to power the processor and other components.
8. Support Chips: The 8086 may require support chips such as the 8284
clock generator, 8288 bus controller, and 8255 programmable peripheral
interface (PPI) to facilitate communication with memory and I/O devices.
Page | 11
SY AIML [RITP, Pune]
Generate Fibonacci Series
Conclusion
The Intel 8086 microprocessor was a groundbreaking chip that revolutionized the
computing industry. Its 16-bit architecture, backward compatibility, and powerful
instruction set paved the way for modern x86 processors. Despite its limitations,
such as the complex segmented memory model and lack of certain features found
in newer processors, the 8086's impact cannot be overstated. It found widespread
use in personal computers, embedded systems, communication devices, and
various other applications, making it a foundational component of modern
computing.
In assembly language programming (ALP), implementing the Fibonacci series is
a common exercise that demonstrates fundamental programming concepts such
as loops, arithmetic operations, and memory management.
The Fibonacci series is a sequence of numbers where each number is the sum of
the two preceding ones, usually starting with 0 and 1. The sequence begins 0, 1,
1, 2, 3, 5, 8, 13, and so on.
To conclude, implementing the Fibonacci series in ALP helps in understanding:
1. Looping Constructs: Using loops (like a for or while loop) to iterate and
calculate the Fibonacci numbers.
2. Arithmetic Operations: Performing addition and storage operations to
compute each Fibonacci number.
3. Memory Management: Storing and updating values in memory locations
to maintain the sequence.
Page | 12
SY AIML [RITP, Pune]
Generate Fibonacci Series
References
IEEE Papers:
1. Session_1_Industrial_University_and_cate_training_Preparing_the_engineer_for_the_micro
processor_era[1].pdf
2. Session 1: Industrial, University and cate training: Preparing the engineer for the
microprocessor era | SAIEE Journals & Magazine | IEEE Xplore
3. The development of an extended macro-assembler for the production of microprocessor
software | SAIEE Journals & Magazine | IEEE Xplore
4. The impact and implications of microprocessors on instrumentation | SAIEE Journals &
Magazine | IEEE Xplore
5. Objectives and objections associated with microprocessor training courses | SAIEE Journals &
Magazine | IEEE Xplore
Books:
1. The Intel Microprocessors by Barry B. Brey
2. Microprocessor 8086 by Sunil Mathur
3. The 8086 Microprocessor by Kenneth Ayala
4. Microprocessor 8085, 8086 by Abhishek Yadav
Websites:
1. Experiment-3 Program to generate Fibonacci series 8086 8086 Programming -
Care4you
2. Lab 5: Programming with 8086 EMU Emulator , ALP for Average of N Numbers and
Fibonacci Series – Sanjay Vidhyadharan
3. 8086 program to generate Fibonacci Sequence (tutorialspoint.com)
4. assembly - Simple fibonacci printer in 8086 assemlby - Stack Overflow
Videos:
1. (12) 8086 Microprocessor by Engineering Funda - YouTube
2. Lec-1: Microprocessor and Microcontroller in Computer system (youtube.com)
3. MIC ( Microprocessor ) For MSBTE Diploma | Lecture #1 | Introduction to 8086 | Pin
Diagram Explained (youtube.com)
4. Lec-13: Architecture of 8086 Microprocessor (youtube.com)
5. 8086 Microprocessor Architecture || 8086 block diagram || Instruction Cycle [ Animated ]
(youtube.com)
Page | 13
SY AIML [RITP, Pune]