> For the complete documentation index, see [llms.txt](https://www.ctfrecipes.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.ctfrecipes.com/pwn/architectures/aarch64.md).

# aarch64

AArch64 (also known as ARMv8-A) is a 64-bit instruction set architecture (ISA) that is used in many modern ARM processors. It is a Reduced Instruction Set Computing (RISC) architecture that is designed for efficient execution of instructions and low power consumption.

The AArch64 ISA includes a large number of registers, which are used to store data and intermediate results during the execution of a program. It also includes a wide range of instructions for performing arithmetic, logical, and control operations, as well as instructions for accessing memory and interacting with peripherals.

The AArch64 ISA is used in a variety of devices, including servers, desktop computers, laptops, and embedded systems. It is known for its high level of performance and energy efficiency, which make it well-suited for use in a wide range of applications.

Overall, the AArch64 ISA is a powerful and flexible architecture that is used in many modern devices and applications. It is known for its efficiency and low power consumption, as well as its support for 64-bit integers and pointers, which make it well-suited for use in a wide range of applications.

{% hint style="danger" %}
**Aarch32** and **aarch64** are two different instruction set architectures (ISAs) used in computers. **Aarch32 is a 32-bit ISA**, while **aarch64 is a 64-bit ISA**. This means that aarch64 is capable of handling larger amounts of data and memory compared to aarch32. In general, aarch64 is more powerful and efficient than aarch32, but **it is not backward-compatible with aarch32.** This means that software designed for aarch32 may not be able to run on aarch64 without modification
{% endhint %}

{% content-ref url="/pages/6QFFYvz16vyWorME2Bl6" %}
[Registers](/pwn/architectures/aarch64/registers.md)
{% endcontent-ref %}

{% content-ref url="/pages/xGfhj5c77krUsFcg4GEG" %}
[Instruction set](/pwn/architectures/aarch64/instruction-set.md)
{% endcontent-ref %}

{% content-ref url="/pages/VVsJLwbDk9VBoMKDKsHZ" %}
[Calling convention](/pwn/architectures/aarch64/calling-convention.md)
{% endcontent-ref %}
