Architechure of 8086
Architechure of 8086
Dedicated Adder to
generate 20 bit address
Segment
Registers
4
Architecture
Bus Interface Unit (BIU)
Segment Code Segment Register
Registers
16-bit
5
Architecture
Bus Interface Unit (BIU)
Segment Data Segment Register
Registers
16-bit
6
Architecture
Bus Interface Unit (BIU)
7
Architecture
Bus Interface Unit (BIU)
Segment Extra Segment Register
Registers
16-bit
8
Architecture
Bus Interface Unit (BIU)
Segment Instruction Pointer
Registers
16-bit
9
Architecture
Bus Interface Unit (BIU)
Instruction queue
A group of First-In-First-
Out (FIFO) in which up to
6 bytes of instruction
code are pre fetched
from the memory ahead
of time.
A decoder in the EU
control system
translates instructions.
and
Some of the 16 bit registers can be
Index registers (Source used as two 8 bit registers as :
Index, Destination Index)
each of 16-bits AX can be used as AH and AL
BX can be used as BH and BL
CX can be used as CH and CL
DX can be used as DH and DL 11
ArchitectureExecution Unit (EU)
EU Accumulator Register (AX)
Registers
Consists of two 8-bit registers AL and AH, which can be
combined together and used as a 16-bit register AX.
AL in this case contains the low order byte of the word, and
AH contains the high-order byte.
12
ArchitectureExecution Unit (EU)
EU Base Register (BX)
Registers
Consists of two 8-bit registers BL and BH, which can be
combined together and used as a 16-bit register BX.
13
ArchitectureExecution Unit (EU)
EU Counter Register (CX)
Registers
Consists of two 8-bit registers CL and CH, which can be
combined together and used as a 16-bit register CX.
Example:
14
ArchitectureExecution Unit (EU)
EU
Registers
15
ArchitectureExecution Unit (EU)
EU Stack Pointer (SP) and Base Pointer (BP)
Registers
SP and BP are used to access data in the stack segment.
16
ArchitectureExecution Unit (EU)
EU Source Index (SI) and Destination Index (DI)
Registers
Used in indexed addressing.
17
ArchitectureExecution Unit (EU)
EU Source Index (SI) and Destination Index (DI)
Registers
Used in indexed addressing.
18
ArchitectureExecution Unit (EU)
Auxiliary Carry Flag
Carry Flag
Flag Register This is set, if there is a carry from the
This flag is set, when there is
lowest nibble, i.e, bit three during
addition, or borrow for the lowest a carry out of MSB in case of
nibble, i.e, bit three, during addition or a borrow in case of
subtraction. subtraction.
This flag is set, when the This flag is set, if the result of This flag is set to 1, if the lower
result of any computation the computation or comparison byte of the result contains even
is negative performed by an instruction is number of 1’s ; for odd number
zero of 1’s set to zero.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OF DF IF TF SF ZF AF PF CF
Tarp Flag
Over flow Flag If this flag is set, the processor
This flag is set, if an overflow occurs, i.e, if the result of a signed
enters the single step execution
operation is large enough to accommodate in a destination
mode by generating internal
register. The result is of more than 7-bits in size in case of 8-bit
signed operation and more than 15-bits in size in case of 16-bit interrupts after the execution of
sign operations, then the overflow will be set. each instruction