General purpose registers in 8086 microprocessor

General purpose registers are used to store temporary data within the microprocessor. There are 8 general purpose registers in 8086 microprocessor.


Figure – General purpose registers

  1. AX – This is the accumulator. It is of 16 bits and is divided into two 8-bit registers AH and AL to also perform 8-bit instructions.
    It is generally used for arithmetical and logical instructions but in 8086 microprocessor it is not mandatory to have accumulator as the destination operand.

    Example:

    ADD AX, AX (AX = AX + AX)
  2. BX – This is the base register. It is of 16 bits and is divided into two 8-bit registers BH and BL to also perform 8-bit instructions.
    It is used to store the value of the offset.

    Example:

    MOV BL, [500] (BL = 500H)
  3. CX – This is the counter register. It is of 16 bits and is divided into two 8-bit registers CH and CL to also perform 8-bit instructions.
    It is used in looping and rotation.

    Example:

    MOV CX, 0005
    LOOP
    
  4. DX – This is the data register. It is of 16 bits and is divided into two 8-bit registers DH and DL to also perform 8-bit instructions.
    It is used in multiplication an input/output port addressing.

    Example:

    MUL BX (DX, AX = AX * BX)
    
  5. SP – This is the stack pointer. It is of 16 bits.
    It points to the topmost item of the stack. If the stack is empty the stack pointer will be (FFFE)H. It’s offset address relative to stack segment.

  6. BP – This is the base pointer. It is of 16 bits.
    It is primary used in accessing parameters passed by the stack. It’s offset address relative to stack segment.

  7. SI – This is the source index register. It is of 16 bits.
    It is used in the pointer addressing of data and as a source in some string related operations. It’s offset is relative to data segment.

  8. DI – This is the destination index register. It is of 16 bits.
    It is used in the pointer addressing of data and as a destination in some string related operations.It’s offset is relative to extra segment.


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

2


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.