ADRP
Form a PC-relative page address
Add a signed offset to the current instruction’s 4 KiB page base.
| Form | Bits | Requires | Encoding |
|---|---|---|---|
ADRP Xd, label | 64 | Armv8-A | 1xx10000xxxxxxxxxxxxxxxxxxxxxxxx |
Operation#
Pseudo-C · selected form
Xd = ((PC AND NOT(4095)) + page_displacement) mod 2^64What to watch for
- The offset is relative to this instruction, not the next instruction. No memory is accessed.
- The low 12 result bits are zero; an ADD or load/store offset normally supplies the address within the page. The 4 KiB page unit is independent of the configured translation granule.
Architectural details#
- Flags
- NZCV unchanged.
- Destination
- Writes the full 64-bit destination. Writes to ZR are discarded; SP is not accepted.
- Encoding
1xx10000xxxxxxxxxxxxxxxxxxxxxxxx- Operands
Xdwrite · 64 bitslabeladdress expression · 64 bits
- Coverage
- Selected baseline A64 scalar register forms.
- label
- -4294967296 to 4294963200, in steps of 4096.
Exception information & execution requirements
Complete exception conditions have not been imported.
MRS supplies encoding and availability conditions, not an exhaustive exception model.
Feature availability alone does not guarantee execution: OS state and execution-level controls also apply. Use the linked architecture documentation for the full exception conditions.
Sources & provenance#
Technical fields are imported from pinned upstream files. Explanations and explorer behavior are maintained separately.
Architectural references for this form
Arm · aarchmrs
- Revision
2026-03_rel- SHA-256
bf355d263eed08ef6b3e4e680e6bba3642fa7c3dd0be77ffb4783420041a0860- Terms
- BSD-3-Clause