The CPU architecture currently has a total of 32 distinct instructions. Most of these have a full set of eight opcodes reserved for them; the rest have fewer, and are grouped into a set of extended instructions. Most instructions are divisible into one of a few related groups.
The instruction documentation is currently incomplete. It will be finished sometime in the near future.
| Load |  | NZ-----E |
|---|
| Store |  | -------- |
|---|
| In |  | NZ-----E |
|---|
| Out |  | -------- |
|---|
| Transfer to special register |  | -------- |
|---|
| Transfer from special register |  | -------- |
|---|
| Transfer to stack pointer |  | -------- |
|---|
| Transfer from stack pointer |  | -------- |
|---|
| Add |  | NZ-----E |
|---|
| Add with carry |  | NZC----E |
|---|
| Subtract |  | NZ-----E |
|---|
| Subtract with borrow |  | NZCO---E |
|---|
| Shift |  | NZCOIAUE |
|---|
| Shift with carry |  | NZCOIAUE |
|---|
| Shift right with sign-extend |  | NZCOIAUE |
|---|
| Rotate |  | NZCOIAUE |
|---|
| Twos-complement |  | NZCOIAUE |
|---|
| And |  | NZCOIAUE |
|---|
| Or |  | NZCOIAUE |
|---|
| XOr |  | NZCOIAUE |
|---|
| Compare |  | NZCOIAUE |
|---|
| Test |  | NZCOIAUE |
|---|
| Branch |  | NZCOIAUE |
|---|
| Jump |  | NZCOIAUE |
|---|
| Call |  | NZCOIAUE |
|---|
| Software interrupt |  | NZCOIAUE |
|---|
| Loop |  | NZCOIAUE |
|---|
| Return |  | NZCOIAUE |
|---|
| Return from interrupt |  | NZCOIAUE |
|---|
| Push |  | NZCOIAUE |
|---|
| Pull |  | NZCOIAUE |
|---|
| No-op |  | NZCOIAUE |
|---|
| Halt |  | NZCOIAUE |
|---|