Register

Creator
Creator
Alan JoAlan Jo
Created
Created
2020 Feb 3 13:3
Editor
Editor
Alan JoAlan Jo
Edited
Edited
2024 Jun 20 16:37

Pointer

Support swapping operation in register level

Registers
 
  • Program status and control: rflags
  • The address of the next instruction is in a register:
    • rip (x86_64) and eip (x86)
    • Cannot be read or set explicitly
    • It is modified by jump and call/return instructions
    • Can be read by executing a call and checking the value pushed on the stack

rax

x86_64: rax, rcx, rdx, rbx, rsp, rbp, rsi, rdi, r8, r9, r10, r11, r12, r13, r14, r15
x86: eax, ecx, edx, ebx, esp, ebp, esi, edi
Partial Register Access (x86_64) due to a historical oddity, accessing eax will zero out the rest of rax. Other partial access preserve untouched parts of the register.
notion image
notion image
 
 

Recommendations