お前のプログラムは間違っている...

Visvm は、 コンパイラの設計に問題があるかどうかを調べるためのものなので、 実行時の障害の判定が厳しくしてあります。 スタックの 0 より下や R2 より上をアクセスした場合は警告され、 マシンは停止します。 このマシンに怒られないようなコードを吐くコンパイラを作ってください。 標準の vm はこのあたりの判定が甘くなっています。 Vmで動くからといって満心しないように。

Stack ウィンドウでは、R1 の指している場所はアドレスが黒反転で、 R2 が指しているアドレス(の次)の行全体がグレイ反転で表示されます。

再挑戦

あなたの PL800 コンパイラを作り直して、 同じテストプログラムに対してオブジェクトコードを作り直したときは、 Reload ボタンでその新しいオブジェクトファイルの読み込みが行なえます。

別のオブジェクトを実行させるときには Load ボタンを押してファイル名を入力します。

最後に...