General purpose registers in 8086 microprocessor

The general purpose registers are used to store temporary data in the time of different operations in microprocessor. 8086 has eight general purpose registers.


The description of these general purpose registers

This is the accumulator. It is 16-bit registers, but it is divided into two 8-bit registers. These registers are AH and AL. AX generally used for arithmetic or logical instructions, but it is not mandatory in 8086.
BX is another register pair consisting of BH and BL. This register is used to store the offset values.
CX is generally used as control register. It has two parts CH and CL. For different looping and counting purposes these are used.
DX is data register. The two parts are DH and DL. This register can be used in Multiplication, Input/output addressing etc.
This is the stack pointer. The stack pointer points the top most element of the stack. For empty stack SP will be at position FFFEH.
BP is another 16-bit register. This is base pointer register. This register is primary used in accessing the parameters passed by the stack. It’s offset address relatives to stack segment.
This is Source Index register. This is used to point the source in some string related operations. Its offset is relative to data segment.
This is destination index register. This is used to point destination in some string related operations. Its offset is relative to extra segment.