This is my implementation of "Little Computer 3" virtual machine. I was made it to get better understanding about what is going on inside a computer and better understand how programming languages work.
This project based on: Write your Own Virtual Machine article. You can also find some basics about LC3 on Wikipedia.
In lc3-isa.pdf
file within this repository you can find The Instruction Set Architecture (ISA) of the LC-3.
Inside apps
directory you can find some applications which can be run by this Virtual Machine.
- To run linter
make lint
- To build project just run
make build
- To run tests
make test
- To remove build artifacts
make clean
It's easy to run any application. Just specify application object file as a first argument to a binary.
./golang-lc3-vm ./apps/hello-world.obj
./golang-lc3-vm ./apps/rogue.obj