2.3.2 Basic 64-bit Execution Environment

  • Recall we only use 48 bits for addresses
  • Below are the most important registers
    • Sixteen 64 bit general purpose registers
    • 64 bit flags register (RFLAGS)
    • 64 bit instruction pointer (RIP)
    • Eight 64 bit MMX registers
    • Sixteen 128 bit XMM registers (versus 8 in 32 bit)
  • General Purpose Registers
    • Even in 64 bit mode there are only eight 32 bit registers by default
    • Adding REX prefix to the instruction you now get access to sixteen 64 bit registers
    • Capture.PNG
    • You cannot access a high-byte register at the same time as a new low-byte register
    • The upper 32 bits of RFLAGS is not used, old flags remain

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s