ABI notes
System V AMD64 on Linux/macOS/BSD, Microsoft x64 on Windows, with different argument registers, shadow space, red zone, unwind metadata, and object formats.
Intel / AMD 64-bit ecosystem
The dominant desktop and server ISA for operating systems, compilers, debuggers, hypervisors, game engines, binary tools, exploit research, and performance work.
System V AMD64 on Linux/macOS/BSD, Microsoft x64 on Windows, with different argument registers, shadow space, red zone, unwind metadata, and object formats.
Rings, long mode, paging, interrupts, exceptions, MSRs, syscall/sysret, virtualization extensions.
| Name | Aliases | Class | Role |
|---|---|---|---|
| RAX | EAX, AX, AL | General | Return value, accumulator, syscall number on Linux |
| RBX | EBX, BX, BL | General | Callee-saved base register |
| RCX | ECX, CX, CL | General | Counter, shifts, Windows first integer argument |
| RDX | EDX, DX, DL | General | Data register, returns, arguments |
| RSI/RDI | ESI/EDI | General | String operations, SysV arguments |
| RSP/RBP | ESP/EBP | Stack | Stack pointer and frame pointer |
| RIP/RFLAGS | EIP/EFLAGS | Control | Instruction pointer and condition state |
| XMM/YMM/ZMM | SIMD views | Vector | Floating point, SIMD, AVX/AVX-512 |
Data movement
MOV, LEA, PUSH, POP, XCHG, MOVSX, MOVZX, addressing forms
Arithmetic and logic
ADD, SUB, IMUL, IDIV, AND, OR, XOR, SHL, SHR, SAR
Control flow
CALL, RET, JMP, Jcc, CMP, TEST, SETcc, CMOVcc
System and privileged
SYSCALL, SYSRET, CPUID, RDMSR, WRMSR, LGDT, LIDT
SIMD and atomics
SSE, AVX, AVX-512, LOCK operations, fences
global _start
section .text
_start:
mov rax, 1
mov rdi, 1
lea rsi, [rel msg]
mov rdx, msg_len
syscall
mov rax, 60
xor rdi, rdi
syscall
section .rodata
msg: db "hello x86-64", 10
msg_len: equ $ - msg