> 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/aarch32.md).

# aarch32

AArch32 (also known as ARMv7-A) is a 32-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.

This instruction set architecture is used in a variety of devices, including smartphones, tablets, embedded systems, and other portable devices. It is known for its high level of performance and energy efficiency, which make it well-suited for use in devices with limited power and cooling resources.

{% 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/C93A5K0x4fLe0V5mPHQo" %}
[Registers](/pwn/architectures/aarch32/registers.md)
{% endcontent-ref %}

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

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