I’m working on an assembly language implementation of a code-threaded Forth for Linux. I’m using fasm (flat assembler) and will use no external code whatsoever (i.e., Linux system calls only).
Honestly, this feel a little like coming home to me; programming like it used to be. The Linux system call mechanism interfaces the same way the old BIOS in early-days PCs did, using a soft interrupt instruction. And Linux uses the virtual memory facilities of modern processors to give each running application its own private address space; that’s a lot like the early days too, when your program was the only one running on the machine unless you did some fancy dancing.