Esse ambiente é baseado em uma máquina de pilha, ou seja, todos os comandos utilizam uma pilha como "área de trabalho".
Arquitetura baseada em Pilha
Em um ambiente de execução precisamos considerar a organização da memória. Nessa máquina virtual, cada célula da memória armazena 16 bits que são utilizados para representar todos os valores inteiros, booleanos e endereço de memória.
A memória é dividida em segmentos, que serão utilizados para armazenar os diferentes tipos de variáveis. As variáveis static, field, local e argument são mapeadas pelo compilador nos quatro segmentos de memória static, this, local, argument. Cada variável terá uma posição dentro destes segmentos, por exemplo, uma variável x poderá ser mapeada para o local 1. Além disso, existem mais quatro segmentos de memória adicionais, cuja função será apresentada posteriormente: that, constant, pointer, temp. O emulador da máquina virtual, possibilita visualizar os valores dentro de cada segmento:
Além dos oito segmentos, destaca-se as seguintes áreas: