- project 1: Logic Gates -> Starting from an elementary NAND logic gate, built an array of more complex logic gates, i.e., And, Or, Mux, Xor, etc.
- project 2: ALU -> Constructed an adder chip and ALU, which executes all the arithmetic and logical operations
- project 3: Registers & Program Counter -> Used a D Flip Flop circuit, which enables storing state in a chip, to construct a series of registers and a Program Counter
- project 4: Assembly -> Wrote Assembly Language programs using the Hack Machine Language
- project 5: Full Computer -> Constructued CPU, ROM, and RAM units leading to a full scale Computer
- project 6: Assembler -> Created Hack assembler in Python to translate Hack Assembly Language into Hack Binary Machine Language
- project 7 & 8: VM Translator -> Started Two-Tier compilation process by building Virtual Machine Translator of a Jave-like, stack-based Bytecode into Hack Assembly Language
- project 9: Jack Language -> Created a personal finance command line program in Jack, a Java-like langauge used for this course
- project 10 & 11: Compiler -> Finished two-tier compilation process by implementing compiler for translation of high-level Jack language into VM langauge, akin to Java bytecode
- project 12: Operating System -> Wrote Operating System classes to "ship" with Hack / Jack platform to provide an interface for high-level Jack programmer to low-level resources, i.e, memory allocation
forked from EDalSanto/Nand2Tetris
-
Notifications
You must be signed in to change notification settings - Fork 0
stop1204/Nand2Tetris
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
Build a Modern Computer from First Principles
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- Assembly 55.2%
- Scilab 17.9%
- Python 15.8%
- HTML 8.8%
- Shell 1.0%
- Batchfile 0.7%
- C 0.6%