Here are the General-Purpose CPU registers that we'll work with and their descriptions:
| Register | Size | Typical Purpose (Convention) |
|---|---|---|
= |
64-bit | Accumulator; return value; syscall number |
= |
64-bit | General-purpose |
= |
64-bit | Counter (loops, shifts) |
= |
64-bit | Data register; I/O length; syscall arguments |
= |
64-bit | Source index; pointer to input data |
= |
64-bit | Destination index; pointer to output data |
= |
64-bit | Base pointer (stack frame reference) |
= |
64-bit | Stack pointer (top of stack) |
|
64-bit | General-purpose; syscall arguments |
to |
64-bit | General-purpose |