621 B
621 B
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