Purposes of having general registers (AX,BX,CX,DX,SP,BP,SI,DI) and ALU (arithmetic and logic unit) in 8086

General Registers : All general registers of the 8086 microprocessor can be used for arithmetic and logic operations. The general registers are:

  1. AX (Accumulator): This is accumulator register. It gets used in arithmetic, logic and data transfer instructions. In manipulation and division, one of the numbers involved must be in AX or AL.

  2. BX (Base Register): This is base register. BX register is an address register. It usually contain a data pointer used for based, based indexed or register indirect addressing.

  3. CX (Count register): This is Count register. This serves as a loop counter. Program loop constructions are facilitated by it. Count register can also be used as a counter in string manipulation and shift/rotate instruction.

  4. DX (Data Register): This is data register. Data register can be used as a port number in I/O operations. It is also used in multiplication and division.

  5. SP (Stack Pointer): This is stack pointer register pointing to program stack. It is used in conjunction with SS for accessing the stack segment.

Continue Reading to the next part.


  1. BP (Base Pointer): This is base pointer register pointing to data in stack segment. Unlike SP, we can use BP to access data in the other segments.

  2. SI (Source Index): This is source index register which is used to point to memory locations in the data segment addressed by DS. By incrementing the contents of SI one can easily access consecutive memory locations.

  3. DI (Destination Index): This is destination index register performs the same function as SI. There is a class of instructions called string operations, that use DI to access the memory locations addressed by ES.

  4. ALU (Arithmetic & Logic Unit) : This unit can perform various arithmetic and logical operation, if required, based on the instruction to be executed. It can perform arithmetical operations, such as add, subtract, increment, decrement, convert byte/word and compare etc and logical operations, such as AND, OR, exclusive OR, shift/rotate and test etc.

Next Read:



Contact Us