From fbfa52da575e283def59c6487b51dd66eebc03b8 Mon Sep 17 00:00:00 2001 From: Frederick Yin Date: Tue, 16 Aug 2022 16:04:50 +0800 Subject: Add README --- README | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 README diff --git a/README b/README new file mode 100644 index 0000000..6ca26b3 --- /dev/null +++ b/README @@ -0,0 +1,49 @@ +=============================== nand2tetris ============================== + +Nand to Tetris (https://www.nand2tetris.org/) is a course available online +that teaches you to build a modern architecture computer all the way up +from NAND gates. The course features 12 projects. I have completed the +first half, i.e. hardware and assembly. + +List of projects completed thus far: + +01 - Elementary logic gates, e.g. AND, XOR, and (De)Mux +02 - Combinatorial chips that do math, including ALU +03 - Sequential chips, e.g. Register, RAM, and program counter +04 - Assembly +05 - Computer +06 - Assembler + +Directory structure: +projects/ + 00/ + coursera-related meta files + 01/ + 02/ + 03/ + the three dirs above contain HDL files, with suffix ".hdl". The + syntax is specific to this course, so your text editor may fail + to highlight them. Each HDL file is accompanied by a ".cmp" and + a ".out" file for debugging purposes. + 04/ + contains assembly, also specific syntax. Suffix is ".asm". + 05/ + HDL again. + 06/ + I wrote two implementations of the assembler: the first in C and + the other in Python (I regret doing it in this order). You may + compile the C program with: + $ gcc hack-as.c -o hack-as + Then invoke it with: + $ ./hack-as + which will output binary code in ASCII 0's and 1's to a file with + suffix ".hack". + 07/ + 08/ + 09/ + 10/ + 11/ + 12/ +tools/ + This directory contains the software suite. Consult nand2tetris + website for details. -- cgit v1.2.3