An Interactive Assembler
Or "Bootstrapping Assembler" or just "Assembly Toy!".
While writing nasmjf (my NASM port of JONESFORTH), I discovered how interactive a low-level compiler/assembler can be.
In a lot of ways, a traditional bare-metal Forth is an interactive compiler. In even more ways, it’s more like an interactive assembler.
That got me to thinking about creating an interactive assembler toy that lets you add even new instruction handling on the fly. Ideally, it would be full-featured enough to let you save your progress, so it would grow over time (would it write a new executable version of itself or save to a binary file or…?)
How FEW x86-64 instructions would you need to create an interactive assembler? In theory, probably just a handful, but I mean beyond theory. I mean, actually relatively nice to program with.
Related:
External links:
-
Bootstrapping a simple compiler from nothing (archive.org) by Edmund Grimley-Evans.
-
StoneKnifeForth (github.com) "…its purpose is to show how simple a compiler can be."
-
SubX (implements Mu, emitted by Mu) (akkartik.github.io) "SubX is a notation for a subset of x86 machine code."
-
https://stackoverflow.com/questions/9334785/implementing-a-simulator-for-a-subset-of-x86