Where EBP records EDI ESI are used

3

I know that the EAX works as an accumulator and to call interruptions

The ESP is used by push and pop instructions

The ECX is used as a counter for loop

But EBP, EDI, ESI do not know how they work, if they interact with an instruction like ESP with push and pop.

    
asked by jony alton 17.12.2016 в 02:20
source

1 answer

1

For the architecture x86 - 64bits there are the following registers:

General Registers [GPR]
As the name says, they are records of general use. They serve to do most common operations.

  • Accumulator register RAX
  • Base registration RBX
  • Accountant Record RCX
  • Data Registration RDX

All these registers allow access to sections of themselves, for this we must refer to them as RAX for 64 bits; EAX for 32 bits; AX for the first 16 bits; AH for the second half of the first 16 bits; AL for the first 8 bits. This applies to all other general records (and also for indexes and pointers). To understand how they are distributed you can see the following scheme:

[ 64 bits = 8 Bytes RAX ]
[ 32 bits = 4 Bytes | EAX ]
[ | | AX ]
[ | | AH | AL ]

Indexes and pointers
This keeps indexes and pointers (memory addresses).

  • Destination index record [Destination index] RDI
  • Source index record [Source index] RSI
    Used to maintain the address of destination and origin (respectively) in copy operations of arrays (vectors) and text strings.
  • Pointer to stack origin record [Stack Base pointer] RBP
    This record maintains the address of the origin of the stack.
  • Pointer to stack log [Stack pointer] RSP
    This record keeps the address of the most recent element in the stack.
  • Pointer record to instruction EIP This record maintains the address of the following instruction.

As in the general registers, portions of these registers can be accessed with RSI , ESI and SI . (also applies for other records eg: RDI , EDI , DI ).

You can see more information about the missing record at X86 architecture.

    
answered by 20.12.2016 в 05:58