Module 4
Module 4
▪ The 8086 gave rise to the x86 architecture of Intel's future processors.Since its introduction, the architecture of
8086, the so-called x86 architecture, has undergone evolutionary stages.
▪ It was a 16-bit microprocessor housed in 40-pin dual in-line package (DIP) and operated with a single +5V
power supply.
▪ The 8086 has a 16-bit I/O addressing mechanism that could address 64 K of I/O address space.
▪ The 8086 family consists of two types of 16-bit microprocessors, the 8086 and 8088.
▪ The 8088 is functionally similar to the 8086, except that it has an 8- bit external data bus.
▪ Its internal architecture and instruction set are identical with those of 8086.
▪ The fetch phase performs the fetching of the instructions from the Instruction Queue.
▪ The Write phase performs the operation of storing the computed result at the destination.
▪ Whenever EU is ready to execute a new instruction, it fetches the instruction code from the front end of the BIU's
Instruction Queue.
▪ The EU then executes the instruction in some definite number of clock cycles. The EU has no connection to the system
buses.
▪ If a memory or I/O device has to be accessed in course of execution of an instruction, the EU informs the BIU of its needs.
▪ The BIU executes an appropriate external access bus cycle in response to the EU's demand.
▪ Flag Register
▪ Pointer registers
▪ Index registers
▪ Flag Register: The 8086 microprocessor has nine 1-bit flags to reflect the status of the processor. The 16-bit flag
register of 8086 stores the information about the status of the processor and the status of the instruction
executed most recently.
▪ General Purpose Registers: The 8086 microprocessor has four 16- bit general purpose registers. They are AX,
BX, CX, and DX. Each of these 16-bit registers can be considered as two 8-bit registers distinguished as high and
low order bytes of the respective 16-bit registers and referenced as AH, AL, BH, BL, CH, CL, DH, and DL.
▪ Pointer Registers: The 8086 microprocessor has two Pointer registers .The Stack Pointer (SP) and Base
Pointer(BP). The stack Pointer register points to the current top of the stack. The Base Pointer register can be
used as a pointer to a memory location.
▪ Index Register: The 8086 microprocessor has two Index registers- Source Index (SI) and Destination Index (DI).
Both these registers can be used as pointers to memory locations.
▪ Instruction Queue
▪ Segment registers
▪ Instruction pointer
▪ Segment Registers: The BIU contains four 16-bit segment registers: Code Segment
(CS). Data Segment (DS), Stack Segment (SS) and Extra Segment (ES). These registers
are used to store the 16-bit starting address of the four memory segments/The BIU
generates a 20-bit address using the segment and offset components of an address
▪ Instruction Pointer: Instruction Pointer (IP) always holds the offset address of
memory location of the next instruction to be executed. As the instruction is
executed, the IP is advanced to point to the next instruction in memory
▪ The DX Register: The DX register serves as the Data register. It is used in word multiply and
divide instructions as well as indirect I/O addressing.
▪ The SP and BP registers are used to access data in the stack segment. The SP acts as a stack pointer. The SP
register is dedicated for maintaining the stack.
▪ The stack is an area of memory into which data can be stored and retrieved on the basis of Last-In-First-Out
(LIFO).
▪ The stack is useful in implementing procedure calls, recursions, passing of parameters, etc In the 8086
microprocessor, there can be several stack segments in the memory. But only one of them can be active at
any given instant.
▪ The SP register points to the top of the active stack segment The SP is used as an offset from the current
stack segment during the execution of instructions tha involve the stack segment in external memory.
▪ The SP contents an automatically updated (incremented or decremented) due execution of POP or PUSH
instruction
0 0 0 Interrupt acknowledge
0 1 1 Halt
1 0 0 Code access
1 0 1 Read memory
1 1 0 Write memory
1 1 1 Passive state
•Example: MOV BX, AX copies the contents of the AX register into the BX register.
•Example: MOV AX, [1234H] moves the contents of memory location 1234H into the AX register.
•Combines a base register (BX or BP) with a displacement to calculate the effective address.
•Example: MOV AX, [BX + 5] adds 5 to the contents of BX to determine the memory address, then moves the
•Uses an index register (SI or DI) plus a displacement to determine the effective address.
•Example: MOV AX, [SI + 5] adds 5 to SI to calculate the memory address, then moves the data
from that address into AX.