# RISCV architecture

## Register usage

x0 Hardwired Zero
x1 Link Register
x2 RSP
x3 PSP
x4 W
x5 A
x6 S
x7 SYSVARS
x8-x9 Unused
x10-x12 Tmp registers within HAL ops
x13-x23 Unused
x24 R0 [hal/vreg]
x25 R1 [hal/vreg]
x26 R2 [hal/vreg]
x27 R3 [hal/vreg]
x28     Acmp, used for conditional branching
x29     Bcmp, used for conditional branching
x30-x31 Can't use (TODO: why?)
