32-bit and 64-bit Architecture

x86

x86 is a family of CISC instruction set architectures initially developed by Intel.

Usually, we work with 64-bit architecture, so it is called x86-64 / AMD64.

ARM vs x86

The key difference is that ARM works in RISC, while x86 architecture works in CISC. StackOverflow.

x86-64 / AMD64

x86-64 and AMD64 are used interchangeably.

x86-64 means the 64-bit version of the x86 instruction set.

General-Purpose Registers

From https://wiki.cdot.senecacollege.ca/wiki/X86_64_Register_and_Instruction_Quick_Start.

The 64-bit versions of the ā€˜originalā€™ x86 registers are named:

  • rax - register a extended
  • rbx - register b extended
  • rcx - register c extended
  • rdx - register d extended
  • rbp - register base pointer (start of stack)
  • rsp - register stack pointer (current location in stack, growing downwards)
  • rsi - register source index (source for data copies)
  • rdi - register destination index (destination for data copies)