A toy VM created for learning for the LC3 computer.
See the codeVM for the Little Computer 3. This is created for the purpose of learning about VMs, disassemblers and property based testing. Inspired by Justin Meiners and Ryan Pendleton's Write Your Own VM.

To test out the LC3 instruction implementation, I am using 2 kind of tests:
Before implementing the VM itself, I wanted to understand:
Initially I implemented a disassembler. Later, I converted it into a full blown emulator! You can try it out here: lc3.shraddhaag.dev.
The VM is written entirely by hand.
The tests (both table based tests and property based tests) and the emulator are written with the aid of LLMs.
Go
60.8%
HTML
39.2%
A toy VM created for learning for the LC3 computer.
See the codeVM for the Little Computer 3. This is created for the purpose of learning about VMs, disassemblers and property based testing. Inspired by Justin Meiners and Ryan Pendleton's Write Your Own VM.

To test out the LC3 instruction implementation, I am using 2 kind of tests:
Before implementing the VM itself, I wanted to understand:
Initially I implemented a disassembler. Later, I converted it into a full blown emulator! You can try it out here: lc3.shraddhaag.dev.
The VM is written entirely by hand.
The tests (both table based tests and property based tests) and the emulator are written with the aid of LLMs.
Go
60.8%
HTML
39.2%