Virtual CPU with assembler tool chain, emulator and Forth compiler included
.vscode | ||
examples | ||
hence | ||
henceforth | ||
presentation | ||
syntax | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE | ||
README.md |
hence
Virtual CPU with Assembler and Emulator.
Architecture
Memory mapping
Start | End | Name | Description |
---|---|---|---|
0x0000 |
0x8000 |
PRG (Program) |
ROM of program binary |
0x8000 |
0x9fff |
ST (Stack) |
RAM used as stack |
0xa000 |
0xbfff |
MEM (Memory) |
Generic RAM |
0xc000 |
OUT (Out) |
Writes value as decimal number to standard output when trying to be overwritten | |
0xc001 |
CHR (Char) |
Writes value as UTF-8 char to standard output when trying to be overwritten | |
0xc002 |
KEY (Key) |
Waits for key press and returns UTF-8 value of it when trying to be read from |
Registers
Hex | Name | Description |
---|---|---|
0x1 |
PC (Program counter) |
Address of current instruction |
0x2 |
OPC |
Opcode of current instruction |
TODO