The NAND to Tetris project is an educational initiative that takes you on a journey of building a computer system from the ground up. Starting with basic NAND gates, the project gradually progresses through hardware description, assembly programming, and ends with the creation of a high-level programming language.
This repository encompasses three main parts of the project:
-
Hardware Description Language (HDL):
- Describes the hardware components of the computer, starting from basic gates up to a complete CPU.
-
Assembly (ASM):
- Implements low-level programming using the Hack Assembly Language, allowing for programming the computer at the machine level.
-
Virtual Machine (VM) in Java:
- Implements a virtual machine that runs high-level programs written in the Jack language. The virtual machine serves as an interpreter for Jack programs.