HUJI's version of nand2tetris / nand2tet / From Nand to Tetris / etc.
This software suite contains many modifications which are unique to the Hebrew University, for example:
- All programming projects have python template-code with types, documentation, and additional guidance.
- A VSCode plugin which can help writing code in our various languages.
- All tools (Assembler, CPUEmulator, VMEmulator, JackCompiler) support left and right arithmetic shifts.
- ShiftLeft.hdl, ShiftRight.hdl: chips that perform shifts.
- ExtendAlu.hdl, CpuMul.hdl: ALU & CPU that support shifts.
- Memory.jack: has an additional method to make sure students follow the correct specification for alloc.
dest=D<<;jump // left-shift
dest=D>>;jump // right-shift
- Both also work with A, M.
shiftleft
,shiftright
are unary operations that perform their namesake.
^
,#
are unary operators for left and right shifts (respectively).
This file is part of nand2tetris, as taught in The Hebrew University, and was written by Aviv Yaish. It is an extension to the specifications given here (Shimon Schocken and Noam Nisan, 2017), as allowed by the Creative Common Attribution-NonCommercial-ShareAlike 3.0 Unported License.