This repo documents my solutions to the nand2tetris course in which students build a fully working computer including the hardware and software starting from only Nand gates.
The associated website is available here: From Nand to Tetris.
The first part of the course (and this repo) ends after the assembler has been built and the computer successfully executes code written in its assembly language. That code is executed by assembling it down to binary, loading it into memory directly via the hardware emulator, and pointing the program counter at the start.
The course leaves the implementation of the assembler up to the students. I chose to write it in Python, it can be found here
The course includes a custom VHDL and design IDE. However, I also implemented most of the logic structures (up to the limitations of the visualization software) in Logicly, a visual logic application.
Some of the structures can be seen below.