Skip to content

Computer implementation as described in The Elements of Computing Systems.

License

Notifications You must be signed in to change notification settings

LucazFFz/Nand2Tetris

Repository files navigation

Nand2Tetris

Computer implementation as described in The Elements of Computing Systems.

Currently, only projects 00 through 06 have been completed. However, I intend to update this repository with the remaining projects as I complete them. All software is written in the C# programming language.

  • Project 0: Introduction
  • Project 1: Boolean Logic
  • Project 2: Boolean Arithmetic
  • Project 3: Sequential Logic
  • Project 4: Machine Language
  • Project 5: Computer Architecture
  • Project 6: Assembler
  • Project 8: VM II: Program Control
  • Project 9: High-Level Language
  • Project 10: Compiler I: Syntax Analysis
  • Project 11: Compiler II: Code Generation
  • Project 12: Operating System

This repository also includes a logisim simulation of The Hack Computer for a visual representation along with some simple .asm hack programs. There is a file converter called HackFileConverter under the 06 project directory which allows one to easily convert .hack files to .logisim files. These can be imported into Logisim's built-in ROM chips.

Build a Modern Computer from First Principles: From Nand to Tetris - Part I

Build a Modern Computer from First Principles: Nand to Tetris - Part II