# Usable Registers - damn_simple_architecture

## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

# Usable Registers

Register | Type | Description
--- | --- | ---
`rg0-rgf` | General Purpose | General-purpose registers.
`acc` | Special | Accumulator for calculations and temporary storage - don't use this for variables as pseudo instructions may overwrite this implicitly!
`spr` | Special | Stack pointer
`bpr` | Special | Base pointer for stack frames
`ret` | Special | Return address register
`idr` | Privileged | Interrupt descriptor table address on-read/write: protection fault (unless in kernel mode)
`mmr` | Privileged | Hardware memory map table address on-read/write: protection fault (unless in kernel mode)
`zero` | Read-only | Always contains zero on-read: always returns zero on-write: value is voided
`pcx` | Read-only | Program counter on-write: protection fault
`noreg` | Placeholder | Indicates absence of register argument on-read/write: illegal instruction fault