- Project of The Elements of Computing Systems
- Review blog
- 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
- Xor
- Not16
- Mux
- DMux
- Mux16
- Mux4Way16
- HalfAdder
- FullAdder
- Inc16
- ALU
- 1 Bit register
- 16 Bit register
- RAM8
- PC
- Mult.asm (Multiplication Program)
- Fill.asm (I/O-Handling Program)
- Memory
- 16-bit 6-opcode CPU
- Computer Chip
- Assembler (python)
- Add.asm
- Max.asm
- VM-Translator (python)
- SimpleAdd.vm
- StackTest.vm
- BasicTest.vm
- PointerTest.vm
- StaticTest.vm
Nand2Tetris/vm_translator/code_writer.py
Lines 7 to 22 in 02795f8
- Command marker decorator inserts comment while writing asm code.
// start of [push constant 10]
@10
D=A
@SP
A=M
M=D
@SP
M=M+1
// end of [push constant 10]
- VM-Translator (python)
- ProgramFlow/BasicLoop
- ProgramFlow/FibonacciSeries
- FunctionCalls/SimpleFunction
- FunctionCalls/FibonacciElement
- FunctionCalls/StaticsTest
- JackAnalyzer
Lines 34 to 57 in 02795f8
Nand2Tetris/compiler/rule_definition.py
Lines 10 to 34 in 02795f8
Nand2Tetris/compiler/compile_engine.py
Lines 342 to 366 in 02795f8
- Seven
- ConvertToBin
- Square
- Average
- Pong
- Complex Array
- Array.jack
- Math.jack
- Memory.jack
- Sys.jack
- Keyboard.jack
- Screen.jack
- Output.jack
- String.jack