Virtual machine VM implementation according to Nand To Tetris (The Elements of Computing Systems) specification Progress Arithmetic commands Memory access commands Program flow commands Function calling commands