Skip to content

[2022] From NAND gate to CPU, Compiler, OS, and finally Tetris Game

Notifications You must be signed in to change notification settings

junha-ahn/Nand2Tetris

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nand2Tetris

<The Elements of Computing Systems> with @enkoding1

  • 밑바닥부터 만드는 컴퓨터 시스템 - 인사이트 출판사

Review (Korean) - here

Ch 1-5 Diagrams - here

Table of Contents

  • 1. Boolean Logic
  • 2. Boolean Arithmetic
  • 3. Sequential Logic
  • 4. Machine Language
  • 5. Computer Architecture
  • 6. Assembler
  • 7. Virtual Machine I: Stack Arithmetic
  • 8. Virtual Machine II: ProgramControl
  • 9. High-Level Language
  • 10. Compiler I: Syntax Analys
  • 11. Compiler II: Code Generation
  • 12. Operating System

Reference

Chapter 1. Boolean Logic

2022.10.10

  • Xor
  • Not16
  • Mux
  • DMux
  • Mux16
  • Mux4Way16

Chapter 2. Boolean Arithmetic

2022.10.22

  • HalfAdder
  • FullAdder
  • Inc16(증분기)
  • ALU (6 opcodes)

Chapter 3. Sequential Logic

2022.10.29

  • 1 Bit register
  • 16 Bit register
  • RAM8 (16 bit register * 8)
  • PC(Program Counter)

Chapter 4. Machine Language

2022.11.05

  • Mult.asm (Multiplication Program)
  • Fill.asm (I/O-Handling Program)

Chapter 5. Computer Architecture

2022.11.20

  • Memory
  • 16-bit 6-opcode CPU
  • Computer Chip

Chapter 6. Assembler

2022.12.04

  • Assembler (python)
    • Add.asm
    • Max.asm

Chapter. 7 Virtual Machine I: Stack Arithmetic

2022.12.28

reference. xctom/Nand2Tetris

  • VM-Translator (python)
    • SimpleAdd.vm
    • StackTest.vm
    • BasicTest.vm
    • PointerTest.vm
    • StaticTest.vm

Chapter 8. Virtual Machine II: ProgramControl

2023.01.07

  • VM-Translator (python)
    • ProgramFlow/BasicLoop
    • ProgramFlow/FibonacciSeries
    • FunctionCalls/SimpleFunction
    • FunctionCalls/FibonacciElement
    • FunctionCalls/StaticsTest

Chapter 9. High-Level Language

2023.01.07

Chapter 10. Compiler I: Syntax Analys

2023.01.14

  • JackAnalyzer

Chapter 11. Compiler II: Code Generation

2023.02.04

  • Seven
  • ConvertToBin
  • Square
  • Average
  • Pong
  • Complex Array

Chapter 12. Operating System

2023.02.11

  • Array.jack
  • Math.jack
  • Memory.jack
  • Sys.jack
  • Keyboard.jack
  • Screen.jack
  • Output.jack
  • String.jack

About

[2022] From NAND gate to CPU, Compiler, OS, and finally Tetris Game

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published