This repo hosts my work on the Nand2Tetris course.
Below are the topics covered during the course and links to my work on the associated projects.
Boolean Logic - My Work
Boolean Arithmetic - My Work
Sequential Logic - My Work
Machine Language - My Work
Computer Architecture - My Work
Assembler - My Work
The assembler project explored the concepts of symbolic and binary machine languages. The final goal was to create an assembler that compiles symbolic Hack machine code into binary code that can run on the Hack hardware platform built in the previous chapters.
VM Translator - My Work
The virtual machine project explored the concepts of virtual machines, stack arithmetic, and the stack machine model. The end goal was to build a virtual machine translator, which adds another layer of abstraction on top of the assembler. The virtual machine translator compiles Hack virtual machine code into Hack assembly language, introducing some simple platform independence while also adding a few new language constructs.