spo600:aarch64_register_and_instruction_quick_start
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
spo600:aarch64_register_and_instruction_quick_start [2024/04/16 18:10] – external edit 127.0.0.1 | spo600:aarch64_register_and_instruction_quick_start [2025/02/19 16:54] (current) – [General-Purpose Integer Registers] chris | ||
---|---|---|---|
Line 1: | Line 1: | ||
===== AArch64 Register and Instruction Quick Start ===== | ===== AArch64 Register and Instruction Quick Start ===== | ||
- | This page contains very basic information on the AArch64 mode of the [[ARMv8]]/ARMv9 architecture: | + | This page contains very basic information on the AArch64 mode of the [[ARMv8|ARMv8/ARMv9]] architecture: |
===== | ===== | ||
- | ==== General-Purpose Registers | + | ==== General-Purpose |
The aarch64 registers are named: | The aarch64 registers are named: | ||
Line 16: | Line 16: | ||
* For all other instructions, | * For all other instructions, | ||
- | Usage during [[Syscalls|syscall]]/ | + | Usage during [[Syscalls|syscall]] |
- | * | + | * r0-r7 are used for integer and pointer arguments; additional arguments are on the stack. Return value is in r0 (if an integer or pointer) |
- | * | + | * For syscalls, the syscall number is in r8 |
- | * | + | * r9-r15 are for temporary values |
* r16-r18 are used for intra-procedure-call and platform values (avoid) | * r16-r18 are used for intra-procedure-call and platform values (avoid) | ||
- | * | + | * r19-r28 |
* r29 and r30 are used as the frame register and link register (avoid) | * r29 and r30 are used as the frame register and link register (avoid) | ||
spo600/aarch64_register_and_instruction_quick_start.1713291008.txt.gz · Last modified: 2024/04/16 18:10 by 127.0.0.1