https://vimeo.com/771406693#t=85m30s
C source code of the VM, 100 lines.
https://git.sr.ht/~rabbits/uxn/tree/main/item/src/uxn.c
An example assembly file for that stack machine
https://git.sr.ht/~rabbits/uxn/tree/main/item/projects/examp...
Another stack machine designed to target FPGA with an elegant design, mentioned in the talk above.
https://docs.oracle.com/javase/specs/jvms/se7/html/index.htm...
https://mitpress.mit.edu/9780262539807/the-elements-of-compu...
https://www.greenarraychips.com/home/documents/greg/PB003-11...
Here's a clear description of what each instruction does:
https://colorforth.github.io/forth.html
Hilariously, the system has no logical OR, only AND and XOR and NOT, because "Inclusive-or is rarely needed."
This system was designed by Chuck Moore, father of Forth. Here is an entertaining video of him explaining the F18A stack machine and programming system:
This is such a simple machine. I am planning to make a tiny emulator for my site. One could probably write an emulator in 80 lines of Go (one goroutine for each of the 144 cores).
Anyone who knows a lot about numeric stuff care to comment on this statement?
Fixed point multiply: a*m times b*m yields (a*b)*m = a*m * b*m / m
In the above, m is the fixed point 1. For example, 65536 for a 16.16 fixed point.
The instruction allows you to multiply a*m by b*m and then divide by m, renormalizing your fixed point result.
Chuck Moore thinks nobody needs floating point because fixed point is sufficient!
: */ * 65536 / :
and : */ 65536 / * ;