Sponsored
Microprocessor and Computer Architecture

Write short notes on general purpose registers (AX,BX,CX,DX,SP,BP,SI,DI) and ALU in Intel 8086 microprocessor

Sponsored

General Purpose Registers

In computer architecture, registers in processors are quickly accessible locations available to a computer’s central processing unit (CPU). Registers usually consist of a small amount of fast storage, although some registers have specific hardware functions, and may be read-only or write-only. Registers are normally measured by the number of bits they can hold, for example, an “8-bit register”, “32-bit register” or a “64-bit register” (or even with more bits).

General Registers or General Purpose Registers are kind of registers which can store both data and addresses. All general registers of the intel 8086 microprocessor can be used for arithmetic and logic operations.

AX (Accumulator)

This is accumulator register. It is of 16 bits and is divided into two 8-bit registers AH and AL to also perform 8-bit instructions. It is used in arithmetic, logic and data transfer instructions in 8086 microprocessors. In manipulation and division, one of the numbers involved must be in AX or AL.

BX (Base Register)

This is the base register. It is of 16 bits and is divided into two 8-bit registers BH and BL. BX register is an address register. It usually contains a data pointer used for based, based indexed or register indirect addressing.    

CX (Count register)

This is Count register. It is of 16 bits and is divided into two 8-bit registers CH and CL to also perform 8-bit instructions. 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.    

DX (Data Register)

This is data register. It is of 16 bits and is divided into two 8-bit registers DH and DL to also perform 8-bit instructions. Data register can be used as a port number in I/O operations. It is also used in multiplication and division.    

SP (Stack Pointer)

This is stack pointer register pointing to program stack. It is used in conjunction with SS for accessing the stack segment.  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. Its offset address is relative to the stack segment.

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. It is of 16 bits. It is primarily used in accessing parameters passed by the stack. Its offset address is relative to the stack segment.

SI (Source Index)

This is source index register which is used to point to memory locations in the data segment addressed by DS. Thus, when we increment the contents of SI, we can easily access consecutive memory locations.  It is of 16 bits. Its offset is relative to the data segment.

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.

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, decrements, convert byte/word and compare etc. and logical operations, such as AND, OR, exclusive OR, shift/rotate and test etc.

Read More:

Sponsored
Share
Tanmay Chakrabarty

Tanmay Chakrabarty is a professional web application developer working professionally for 7+ years with experience in both local and global projects. He likes to share helpful contents such as Q/A, development tutorial etc. on this blog.

Recent Posts

Discuss the challenges and strategies for managing and mitigating software project risks.

Software Project Risk In software engineering, a project risk refers to any factor or event…

8 months ago

What is Object Oriented Programming? What are the advantages and disadvantages of Object Oriented programming?

Object-Oriented Programming (OOP) Object-Oriented Programming, commonly known as OOP, is a programming paradigm that revolves…

8 months ago

What is requirement engineering? Discuss the challenges and techniques involved in gathering and documenting software requirements.

Requirement Engineering: Requirement Engineering is a crucial phase in software development where we identify, gather,…

8 months ago

What are the 10 limitations or disadvantages of third generation of computers?

The third generation of computers, marked by the utilization of integrated circuits (ICs), brought about…

9 months ago

How Does CPU Contribute to the Overall Functionality of a Computer?

The Central Processing Unit (CPU) is often referred to as the "brain" of a computer.…

9 months ago

What are the fundamentals of database management systems and SQL?

Fundamentals of Database Management Systems (DBMS) and SQL Database Management Systems (DBMS) and Structured Query…

11 months ago
Sponsored