An artisan C implementation of the Hack Assembler for the nand2tetris course.
A custom hash table was implemented to store symbols and instructions. Also, Go-like error handling is employed, albeit with much less power.
make
The binary file hack_assembler
will appear in the root directory.
./hack_assembler <asmfile>
The output binary machine code will be stored in out.hack
file in the root.
The example Hack assembly code is provided in add
, max
, rect
, and pong
directories.
make test
make test_integration
make test_memory
Tests are implemented with check unit test framework.