nand2tetris/vm
Nemo 2a27bff08c [08] Update notes 2020-06-09 00:00:12 +05:30
..
CodeWriter.php [08] Finishes VM Implementation 2020-06-08 23:56:54 +05:30
CommandType.php [08] Implement Return/Function/Init 2020-06-04 15:48:32 +05:30
Parser.php Break into multiple files for easier navigation 2020-06-02 03:19:28 +05:30
README.md [08] Update notes 2020-06-09 00:00:12 +05:30
VMTranslator.php [08] Finishes VM Implementation 2020-06-08 23:56:54 +05:30

README.md

VM Implementation

We have 8 segments:

  • argument
  • local
  • this/that
  • pointer
  • static (shared)
  • constant (shared)
  • temp (shared)

RAM Address | Usage ============|================= 0-15 | Virtual Registers 16-255 | Static Variables (shared) 256-2047 | Stack 2048-16384 | Heap 16384-24575 | Memory mapped I/O

Register | Name | Usage ==========|========|========= RAM[0] | SP | Stack Pointer RAM[1] | LCL | local RAM[1] | ARG | argument RAM[3] | THIS | this RAM[4] | THAT | that RAM[5-12] | temp Segment RAM[13-15]| General Purpose Registers