Register set
16 registers, each 8 bits wide. Some are paired into 16-bit pointers through aliases.
| register | alias | mask | description | size |
|---|---|---|---|---|
| R0 | A | 0x00 | Accumulator / general-purpose | 8 bits |
| R1 | - | 0x01 | General-purpose | 8 bits |
| R2 | - | 0x02 | General-purpose | 8 bits |
| R3 | - | 0x03 | General-purpose | 8 bits |
| R4 | - | 0x04 | General-purpose | 8 bits |
| R5 | - | 0x05 | General-purpose | 8 bits |
| R6 | - | 0x06 | General-purpose | 8 bits |
| R7 | - | 0x07 | General-purpose | 8 bits |
| R8 | - | 0x08 | General-purpose | 8 bits |
| R9 | IH | 0x09 | Index register high byte | 8 bits |
| R10 | IL | 0x0A | Index register low byte | 8 bits |
| R11 | FPH | 0x0B | Frame pointer high byte | 8 bits |
| R12 | FPL | 0x0C | Frame pointer low byte | 8 bits |
| R13 | SPH | 0x0D | Stack pointer high byte | 8 bits |
| R14 | SPL | 0x0E | Stack pointer low byte | 8 bits |
| R15 | F | 0x0F | Flags register (Z/N/C) | 8 bits |
Notes:
IH:ILform a 16-bit index pointer.FPH:FPLhold the 16-bit frame pointer.SPH:SPLhold the 16-bit stack pointer; PUSH/POP move it downward.Fis overwritten by arithmetic/logic/shift ops. Jumps read it, other ops leave it untouched.- Context switches keep register sets separate for each VM context.