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) andeip
(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.