4 ms·
Agreed, the implementation is the fun part! Obviously instructions can be chosen for efficiency, else we'd all be using the 7 instructions of sectorforth. In f
by alexisread 3y ago
Agreed, the implementation is the fun part!
Obviously instructions can be chosen for efficiency, else we'd all be using the 7 instructions of sectorforth. In fact freeforth has additional instructions for register renaming (to avoid SWAP instructions).
So what's a good set? Most seem to have 25-30 (Mako, Retro, Jones, Stoneknife)
- uticus 3y ago> Most seem to have 25-30 (Mako, Retro, Jones, Stoneknife) Know of any good sources that catalogue these? If it's all in your noggin I respect that, but had to ask.
- alexisread 3y agoNot any sources/overview as such, I just looked at the VM code. So for Mako: https://github.com/JohnEarnest/Mako/blob/master/src/MakoVM.java https://github.com/JohnEarnest/Mako/blob/master/src/MakoVM.j... Freeforth: https://github.com/dan4thewin/FreeForth2/blob/master/ff.asm https://github.com/dan4thewin/FreeForth2/blob/master/ff.asm Jonesforth: https://github.com/nornagon/jonesforth/blob/master/jonesforth.S https://github.com/nornagon/jonesforth/blob/master/jonesfort... Stoneknife: https://github.com/kragen/stoneknifeforth/blob/master/tinyboot.py https://github.com/kragen/stoneknifeforth/blob/master/tinybo... Retro/Ilo: http://ilo.retroforth.org/ilo.txt http://ilo.retroforth.org/ilo.txt Sectorforth:https://github.com/cesarblum/sectorforth/blob/master/sectorforth.asm https://github.com/cesarblum/sectorforth/blob/master/sectorf... but see: https://github.com/cesarblum/sectorforth/issues/6 https://github.com/cesarblum/sectorforth/issues/6 and: https://github.com/cesarblum/sectorforth/issues/8 https://github.com/cesarblum/sectorforth/issues/8
- Karrot_Kream 3y agoI think of Retro to be the "gold standard" for various reasons so I'd lean to the 25-30 mark.
- airbreather 3y agoI believe can be as few as three https://pygmy.utoh.org/3ins4th.html https://pygmy.utoh.org/3ins4th.html
- crc_ 3y agoI'm not sure I'd quite count this as Forth; it's more of a very simple monitor for loading and running code. It's not a bad approach for use with a host Forth though.