Project 4 of From NAND to Tetris.