Pコードマシン
FORTHやJava仮想マシンのような他のスタックベースの環境とは異なり、pコードマシンはコールスタックとしても使われる1つのスタックしか持たない。マシンの持つ3つのレジスタは、それぞれスタック内の位置を指している。スタックはアドレスの大きくなる方向に成長する。
SP (stack pointer) はスタックのトップを指す。
MP (mark pointer) は現在のスタックフレームの開始位置を指す。
EP (extreme pointer) は現在のプロシージャが使っているトップの位置を指す。
他に定数域があり、その下に動的メモリアロケーション域がある。NPレジスタ (new pointer) はヒープの先頭(最低位アドレス)を指す。EPがNPより大きくなった場合、マシンのメモリが使い尽くされたことを示す。
PCレジスタはコード領域で現在実行中の命令を指している。