mirror of
https://github.com/forth-ev/VolksForth.git
synced 2025-02-14 23:30:43 +00:00
portable VM for VolksForth
This commit is contained in:
parent
38d4b75672
commit
2b2ad25f43
22
vfvm/README.org
Normal file
22
vfvm/README.org
Normal file
@ -0,0 +1,22 @@
|
||||
#+Title: Portable VM for VolksForth
|
||||
#+Author: Carsten Strotmann
|
||||
#+Date: <2020-11-23 Mon>
|
||||
|
||||
* Goal
|
||||
|
||||
* create a portable VM to run VolksForth
|
||||
* multiple implementations (C, Go, Pascal ...)
|
||||
* 64KB Memory + Banked extension memory
|
||||
* Stack machine CPU (Data-Stack, Return-Stack)
|
||||
* Stacks mapped into main memory
|
||||
* Stack-Pointer as memory mapped register
|
||||
|
||||
* Implementation Idea
|
||||
|
||||
* 16bit alignment
|
||||
* 16bit opcodes
|
||||
* opcodes $0000-$00FF -> Forth primitives (dup, swap, drop ...)
|
||||
* opcodes $FF00-$FFFF -> extended opcodes
|
||||
* opcodes $0100-$FEFF -> implicit jump to subroutine
|
||||
- allows easy implementation of ITC and DTC Forth
|
||||
* memory $FFF0-$FFFF -> memory mapped I/O, Bankswitching etc
|
Loading…
x
Reference in New Issue
Block a user