The AArch64 register file, laid out
Three views of the same architecture, wired together so you can move between them. Start at a register, see how it is encoded and who owns it; read a system register bit by bit; or disassemble real code and watch registers light up as they are read and written. A fourth takes the address side: how a virtual address becomes a physical one.
Everything is a curated local dataset. Nothing is fetched at runtime, and the register layouts were cross-checked against the ARM Architecture Reference Manual rather than written from memory.
Register explorer
The 32-entry general purpose file, with a global toggle between the 64-bit and 32-bit views and the calling convention role of each register.
System registers
Field-level bit layouts for the registers reached through MRS and MSR, with exception level access rules and enumerated field values.
Annotated disassembler
Paste hex or drop in a binary. Every operand register is marked read or write, and links into the other two views.
Address translation
How TCR_ELx carves a virtual address into table indices, and what each bit of a page table descriptor grants. Stage 1, leaf and next-level.
Documentation
Prose that connects the lot: why slot 31 is two registers, what the calling convention promises, and how exceptions move through the system registers.
The register file at a glance
31 general purpose registers plus one slot that means the stack pointer or the zero register depending on the instruction. The dataset currently covers 70 system registers.