Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jherskow/nand2tetris
Problem sets completed from HUJI's offering of From NAND to TETRIS - The Elements of Computing Systems, 2017. A complete description for each project is available at https://www.nand2tetris.org/course.
https://github.com/jherskow/nand2tetris
assembler assembly
Last synced: about 2 months ago
JSON representation
Problem sets completed from HUJI's offering of From NAND to TETRIS - The Elements of Computing Systems, 2017. A complete description for each project is available at https://www.nand2tetris.org/course.
- Host: GitHub
- URL: https://github.com/jherskow/nand2tetris
- Owner: jherskow
- Created: 2017-10-23T12:02:41.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-02-24T13:15:19.000Z (almost 6 years ago)
- Last Synced: 2024-11-30T21:31:52.455Z (about 2 months ago)
- Topics: assembler, assembly
- Language: Assembly
- Homepage:
- Size: 4.48 MB
- Stars: 110
- Watchers: 1
- Forks: 16
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# nand2tetris
## Problem sets
Problem sets completed from HUJI's offering of **From NAND to TETRIS - The Elements of Computing Systems**, 2017.
A complete description for each project is available at https://www.nand2tetris.org/course.
## Projects
- **00** - Construction of Basic Logic Gates in HDL.
- **01** - Construction of more complex 16 bit chips, such as DMUX16, in HDL.
- **02** - HDL construction of bit shift, incrementer, half and full adder, and finally the arithmetic logic unit (ALU).
- **03** - Construction of timed chips, from a single bit register to a 16K RAM, in HDL.
- **04** - Assembly programming. Includes implementations of 16-bit multiplication and division, as well as some basic screen output.
- **05** - Final "chips". The construction of the CPU, the RAM address space, and the entire computer.
- **06** - Assembler program that translates programs written in the symbolic Hack assembly language into binary code that can execute on the Hack hardware platform built in the previous projects.
- **07** - A basic VM-to-assembly translator, focusing on the implementation of the VM language's stack arithmetic and memory access commands.
- **08** - A full-scale VM-to-assembly translator able to handle the VM language's branching and function calling commands.
- **09** - Implementation of a Flappy-Bird-like game in the JACK language, complete with increasingly difficult level generation.
- **10** - A syntax analyzer that parses Jack programs according to the Jack grammar, producing an XML file that renders the program's structure using marked-up text.
- **11** - A full scale Jack-to-VM compiler.
- **12** - Complete implementation of the [Jack OS API.](https://docs.wixstatic.com/ugd/44046b_695a82ff2d974bd5b3b2642aa42ac4e8.pdf) Includes classes such as: Memory, Array, Math, String, Screen, Keyboard, etc.