/nand2tetris

Cumulative work towards the completion of "The Elements of Computing Systems"

Primary LanguageAssembly

nand2tetris

Outline

Ch Lecture Assignment
1 Boolean Logic and, and16, dmux, dumx4way, dmux8way, mux, mux16, mux4way16, mux8way, not, not16, or, or16, or8way, xor
2 Boolean Arithmetic alu, add16, fulladder, halfadder, inc16
3 Memory bit, pc, ram64, ram8, register, ram16k, ram4k, ram512
4 Machine Code fill, mult
5 Computer Architecture cpu, computer, memory

Getting Started

  1. git clone git@github.com:michaelavila/nand2tetris.git
  2. brew cask install java
  3. Try to run the hardware simulator: ./tools/HardwareSimulator.sh

From here, you need to go through each project, starting with ./projects/00/. Read the book chapter pdf, the lecture pdf, and do the assisgnments as outlined in the book chapter pdf.

The Book

The first half of the book is provided here for you to work through. Consider buying the book and working through the software systems.