Features of Intel 8086 Microprocessor:
- The 8086("eighty eighty-six") is also called iAPX 86
- Most popular and successful product by Intel
- Package: 40 pin dual inline pack (DIP)
- Maximum CPU clock rates 5 MHz to 10 MHz
- Instruction set: x86-16
- 16 bits ALU (Arithmetic Logic Unit)
- 16 bits data bus or path
- 20 bits address bus (The address refers to a byte in memory)
- The 8086 has eight more or less general 16-bit registers (including the stack pointer but excluding the instruction pointer, flag register and segment registers). Four of them, AX, BX, CX, DX, can also be accessed as twice as many 8-bit registers )while the other four, BP, SI, DI, SP, are 16-bit only.
- 8086 has a 16-bit flags register. Nine of these condition code flags are active, and indicate the current state of the processor: Carry flag (CF), Parity flag (PF), Auxiliary carry flag (AF), Zero flag (ZF), Sign flag (SF), Trap flag (TF), Interrupt flag (IF), Direction flag (DF), and Overflow flag (OF).
- Segment registers are also 16 bit
Internal Architecture: BIU and EU
The 8086 is divided into two independent units that work in parallel:
- Bus Interface Unit (BIU): fetches instructions and data from memory, calculates the 20-bit physical address, and contains the segment registers, the instruction pointer (IP) and a 6-byte instruction queue.
- Execution Unit (EU): decodes and executes instructions. It contains the ALU, the general-purpose registers, the pointer and index registers, and the flag register.
While the EU executes one instruction, the BIU pre-fetches the next instruction bytes into the 6-byte queue. This overlap is called pipelining and makes the 8086 faster than the 8085.
Memory Segmentation and Physical Address
The 8086 has a 20-bit address bus, so it can address 220 = 1 MB of memory. Its registers are only 16 bits, so it uses segmentation: memory is divided into segments of up to 64 KB, and the physical address is formed as:
Physical address = Segment register × 10H + Offset
Example: If CS = 2000H and IP = 1234H, the physical address = 20000H + 1234H = 21234H.8086 Registers at a Glance
| Register | Name | Main use |
|---|---|---|
| AX | Accumulator | Arithmetic, I/O, MUL and DIV |
| BX | Base register | Base address for memory access |
| CX | Count register | Loop counter (LOOP), shift and string count |
| DX | Data register | I/O port address, high word in MUL/DIV |
| SP / BP | Stack pointer / Base pointer | Top of stack / accessing data on the stack |
| SI / DI | Source / Destination index | String operations and indexed addressing |
| CS, DS, SS, ES | Segment registers | Code, data, stack and extra segments |
| IP | Instruction pointer | Offset of the next instruction in the code segment |
| FLAGS | Flag register | 6 status flags (CF, PF, AF, ZF, SF, OF) and 3 control flags (TF, IF, DF) |
Practice MCQs for Job and University Exams
1. The 8086 can address how much memory?
(a) 64 KB
(b) 256 KB
(c) 1 MB
(d) 4 GB
Answer: (c)
2. The size of the instruction queue in the 8086 is:
(a) 4 bytes
(b) 6 bytes
(c) 8 bytes
(d) 16 bytes
Answer: (b)
3. If DS = 1000H and the offset is 0020H, the physical address is:
(a) 1020H
(b) 10020H
(c) 01020H
(d) 10200H
Answer: (b)
4. Which pin selects minimum or maximum mode in the 8086?
(a) ALE
(b) MN/MX
(c) READY
(d) HOLD
Answer: (b)
5. How many flags in the 8086 are control flags?
(a) 2
(b) 3
(c) 6
(d) 9
Answer: (b)
6. Which unit of the 8086 calculates the physical address?
(a) EU
(b) ALU
(c) BIU
(d) Control unit
Answer: (c)
7. The 8086 is a:
(a) 8-bit processor
(b) 16-bit processor
(c) 32-bit processor
(d) 64-bit processor
Answer: (b)
Frequently Asked Questions (FAQs)
Q: What is the difference between the 8085 and the 8086?
A: The 8085 is an 8-bit processor with a 16-bit address bus (64 KB memory) and no pipelining. The 8086 is a 16-bit processor with a 20-bit address bus (1 MB memory), memory segmentation and a 6-byte instruction queue.
Q: Why is segmentation used in the 8086?
A: The registers are 16 bits wide, which can only address 64 KB directly. Combining a segment and an offset produces a 20-bit address, so the processor can reach the full 1 MB of memory.
Q: What is the 8088?
A: The 8088 is a version of the 8086 with an 8-bit external data bus and a 4-byte instruction queue. It was used in the original IBM PC.

Thank you for visiting my blog.