From WikiChip
AArch64 - ARM
ARM ISA | |
General | |
Variants | |
Extensions | |
Topics | |
Versions(all) | |
AArch64 is the 64-bit execution state of the ARMv8 ISA. A machine in this state executes operates on the A64 instruction set. This is in contrast to the AArch32 which describes the classical 32-bit ARM execution state.
Overview
The AArch64 execution state was introduced with the ARMv8 ISA for machines executing A64 instructions. A machine in AArch64 can only execute A64 instructions and cannot execute A32 or T32 instructions. However, unlike in AArch32, in the 64-bit state, instructions can access both the 64-bit and 32-bit registers.
Calling convention
- See also: calling convention
Under AArch64, the first eight registers are used for passing parameters into a subroutine as well as to return a result value set. Generally, X0 through X18 can corrupt while X19-X29 must be preserved.
Register | Role | Requirement |
---|---|---|
X0 - X7 | Parameter/result registers | Can Corrupt |
X8 | Indirect result location register | |
X9 - X15 | Temporary registers | |
X16 - X17 | Intra-procedure call temporary | |
X18 | Platform register, otherwise temporary | |
X19 - X29 | Callee-saved register | Must preserve |
X30 | Link Register | Can Corrupt |
This article is still a stub and needs your attention. You can help improve this article by editing this page and adding the missing information. |