hence/README.md

30 lines
1.5 KiB
Markdown
Raw Normal View History

2022-06-17 11:38:12 +00:00
# hence
2022-07-17 18:24:49 +00:00
# Registers
| Name | Description | Size |
| ----- | --------------- | ---- |
| `pc` | Program counter | |
| `opc` | | |
| | | |
# Opcodes
| Index | Name | Description | Arguments |
| ------ | ------ | ------------------------------------------ | --------- |
| `0x00` | `nop` | No operation | |
| `0x01` | `push` | Push to stack | |
| `0x02` | `pop` | Pops top of stack | |
| `0x03` | `ts` | Store value into `tmp` | |
| `0x04` | `tsr` | Store register's value into `tmp` | |
| `0x05` | `tss` | Stores top of stack into `tmp` | |
| `0x06` | `tlr` | Load `tmp`'s value into register | |
| `0x07` | `tls` | Push value of `tmp` to stack | |
| `0x08` | `ld` | Loads top of stack into register | |
| `0x09` | `st` | Loads registers's value onto top of stack | |
| `0x0a` | `dbg` | Debug | |
| `0x0b` | `alu` | Runs ALU | |
| `0x0c` | `at` | Runs ALU with `tmp`'s value as operatorion | |
| `0x0d` | `get` | Sets `tmp` to memory at address in `tmp` | |
| `0x0e` | `set` | Sets memory to value at specific address | |