x86 Architecture

Notes on the x86 architecture

Registers

General Purpose Registers which are used to store temporary data:

  • EAX - Arithmetic and logical instructions

  • EBX - Base pointer for memory addresses

  • ECX - Loop, Shift, Rotation Counter

  • EDX: I/O port addressing, multiplication, and dvision

  • ESI: Pointer of data and source for string copy operations

  • EDI: Pointer of data and destination for string copy operations

Special Purpose Registers which hold program state:

  • ESP - The stack pointer used to keep track of the most recently referenced location on the stack by storing the location as a pointer.

  • EBP - The base pointer used to store the location of the top of the stack when a function is called.

  • EIP - The instruction pointer used to point to the next instructino to be executed.

Debug Registers, there are four of them and they are used for debugging this part needs to be further fleshed out.

Last updated

Was this helpful?