Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
consists of registers identified by letters like B, C, D, E, H, L and accumulator. The control unit
controls the flow of data and instructions within the computer.
8086 Microprocessor
8086 is a 16-bit Integer processor in a 40 pin, Dual Inline Packaged IC. The size of the internal
registers(present within the chip) indicate how much information the processor can operate on
at a time (in this case 16-bit registers) and how it moves data around internally within the chip,
sometimes also referred to as the internal data bus. 8086 provides the programmer with 14
internal registers, each 16 bits or 2 Bytes wide.
The internal architecture of Intel 8086 is divided into 2 units: The Bus Interface Unit (BIU), and
The Execution Unit (EU).
It provides the interface of 8086 to external memory and I/O devices via the System Bus. It
performs various machine cycles such as memory read, I/O read etc. to transfer data between
memory and I/O devices.
BIU mainly contains the 4 Segment registers, the Instruction Pointer, a prefetch queue and
an Address Generation Circuit.
Example:
CS = 4321H IP = 1000H
then CS x 10H = 43210H + offset = 53210H
This is the address of the instruction.
The main components of the EU are General purpose registers, the ALU, Special purpose
registers, Instruction Register and Instruction Decoder and the Flag/Status Register.
1. Fetches instructions from the Queue in BIU, decodes and executes arithmetic and logic
operations using the ALU.
2. Sends control signals for internal data transfer operations within the microprocessor.
3. Sends request signals to the BIU to access the external module.
4. It operates with respect to T-states (clock cycles) and not machine cycles.
8086 has four 16 bit general purpose registers AX, BX, CX and DX. Store intermediate values
during execution. Each of these have two 8 bit parts (higher and lower).
AX register:
It holds operands and results during multiplication and division operations. Also an
accumulator during String operations.
BX register:
It holds the memory address (offset address) in indirect addressing modes.
CX register:
It holds count for instructions like loop, rotate, shift and string operations.
DX register:
It is used with AX to hold 32 bit values during multiplication and division.
The index registers are particularly useful for string operations. They are used as general
purpose registers as well as for offset storage in case of indexed, base indexed and relative
based index addressing modes.
Stack Pointer:
Points to Stack top. Stack is in Stack Segment, used during instructions like PUSH, POP, CALL,
RET etc.
Base Pointer:
BP can hold offset address of any location in the stack segment. It is used to access random
locations of the stack.
Source Index:
Destination Index:
The EU fetches an opcode from the queue into the instruction register. The instruction decoder
decodes it and sends the information to the control circuit for execution.
It has 9 flags that help change or recognize the state of the microprocessor.
6 Status flags:
1. carry flag(CF)
2. parity flag(PF)
3. auxiliary carry flag(AF)
4. zero flag(Z)
5. sign flag(S)
Status flags are updated after every arithmetic and logic operation.
3 Control flags:
1. trap flag(TF)
2. interrupt flag(IF)
3. direction flag(DF)
These flags can be set or reset using control instructions like CLC, STC, CLD, STD, CLI, STI,
etc.
The Control flags are used to control certain operations.
8086 Architecture