Model of 8086
15 8 7 0
Four 16-bit general purpose registers
used to store operands and results.
Each can be accessed as a whole (AX,
BX, CX & DX)
or the upper and lower bytes can be accessed separately (AL, AH, BL, CL, CH, DL
AX is an implied operand for some
BX may be used as a base register in address
CX is an implied counter for certain
DX is sometimes used to hold the address
of I/O instructions.
to calculate physical memory addresses.
(Code Segment) is used in combination with IP to access the executing program
(Stack Segment) is used in combination with SP to access the executing program
(Data Segment) and ES (Extra Segment) are used to access the executing program
Segment, Pointer and other addressing registers are only 16 bits wide. On the
other hand, the address put on the bus by the 8086 (called Physical Address) is
20-bits. So, where do the missing 4-bits come from?
Effective Address or Offset
(CS) = 123A, (IP) = 341B
next instruction fetched at:
123A0 Segment Address