This is an LC-3 virtual machine following this tutorial. I adapted the tutorial to code this in Rust, and then I decided to see if I could compile it to WASM and get it running in the browser.
This will run locally in your terminal (UNIX only -- sorry Windows folks), and can be run in the browser. The WASM version can be found hosted at bog.gy/lc3-vm.
I'd like to come back to this toy at some point in the future try my hand at writing some non-trivial assembly programs. Or maybe try to work through the UX of building a debugger for this.
Example programs:
cargo run hello_world.objI built this using wasm-pack
wasm-pack build --target web