This is the work for project 6 of the Nand to Tetris course. It formed part of the labs for the study-unit CCE2017 (Computer Systems and Organization).
Following the specifications listed here, the main objective is to "Develop an assembler that translates programs written in the Hack assembly language into Hack binary code." For this work, the assembler does not perform error checking, as it assumes the code is valid.
The program takes the .asm
file as a command-line argument and converts into a .hack
file. Using the CPU emulator from the course, one can run the assembled .hack to check that the output is correct.