Professional Documents
Culture Documents
Expocicion Equipo 2 - Unidad II
Expocicion Equipo 2 - Unidad II
A register is a memory located within the processor and sits at the highest level in
the memory hierarchy. Consequently, it has high speed but limited capacity for
storing data, ranging from 4 bits to 64 bits depending on the processor being used.
Registers store data that is frequently used.
TEMPORARY STORAGE REGISTERS
AX (Accumulator Register): This register is primarily used in arithmetic operations as the first
operand and also as a general-purpose register available to the programmer.
BX (Base Register): It is mainly used to indicate memory positions (offset).
CX (Counter Register): This register is used whenever a counter is needed in repetitive
operations and loops.
DX (Data Register): It is used as an auxiliary register in arithmetic operations and as a data
container when using port communication instructions.
SEGMENT REGISTERS: There are four 16-bit registers used to indicate memory addresses (the
concepts of segment and offset will be explained in the following section):
CS (Code Segment): This register is used by the processor, along with the IP register, to
know where the current instruction being executed is located.
DS (Data Segment): It is used to indicate where all the program's data is stored during
execution.
SS (Stack Segment): This register tells the processor where the memory area used as the
stack segment is located.
ES (Extra Segment): It is the register that references the extra segment and is used as an
auxiliary memory pointer in complex operations where two simultaneous data pointers are
needed.
STACK REGISTERS:
The stack is a significant memory area. Instead of one, it has two registers used as offsets to
point to its contents. They are used in conjunction with the SS register and are:
IP (Instruction Pointer): It always contains the offset with respect to the code segment of the
memory location that holds the next instruction the microprocessor is going to execute.
SP (Stack Pointer): This is the register reserved by the processor for its own use in stack
manipulation instructions.
BP (Base Pointer): It is used as an auxiliary register.
INDEX REGISTERS: They are used as complementary offsets to DS
and ES when indicating the position where the data you want to
access is located. They are as follows: