プログラムをシミュレーション実行する


1. シミュレーション実行の種類

 プログラムのシミュレーション実行には以下の種類があります。

 「プログラム実行」は、現在のPCの位置からプログラムをシミュレーション実行し続けます。ただし、ブレークポイントを設定したコードを実行する直前で停止します。また、EXIT命令の実行によっても停止します。また、ユーザが、メニューより[実行]−[プログラム実行の停止]もしくは、ツールバーの、停止アイコンをクリックすることで、いつでも実行を中断することができます。

 「トレース実行」は、現在のPCの位置のプログラムコードを1ステップだけ実行します。

 「パス実行」は、トレース実行と似ていて、通常は、現在のPCの位置のプログラムコードを1ステップだけ実行します。ただし、CALL命令だけは例外で、CALL命令により呼び出される副プログラムをすべて処理してリターンするまで、連続してコードを実行します。このとき、副プログラム中のコードにブレークポイントが設定されている場合は、その時点でプログラムの実行を停止します。

 「カーソル位置まで実行」は、現在のPCの位置からプログラムを実行し始め、トレースビューで選択されている行にPCが到達するとプログラムの実行を停止します。ちょうど、カーソル位置にテンポラリのブレークポイントを設定して、「プログラム実行」をしたのと同様です。したがって、カーソル位置まで実行する途中で、ブレークポイントが設定されたコードを実行しようとすると、その時点でプログラムの実行を停止します。

2.プログラムの再実行

 プログラムをシミュレーション実行してテストしていくうちに、初期状態から再実行したくなる場合があります。そのときは、メニューより[実行]−[リスタート]を選択します。リスタートを実行すると、メモリの内容、レジスタの内容がすべて初期化されます。

3. シミュレート実行時のエラー

 プログラムのシミュレート実行時にシミュレーションエラーが発生することがあります。以下にエラーメッセージとその原因を示します。

 PCの示す位置が命令コードで無いことを通知します。このエラーの発生原因として、CALL命令や分岐命令が、データやワーク領域へ飛ぶように記述されている場合や、プログラムのロジックミスでRET命令により不正なアドレスに分岐してしまった場合などがあります。

 PCの示す位置の命令コードが、アセンブル時のコードと違ってしまったことを通知します。このエラーの発生原因として、プログラムミスにより実行途中で別の値に書き換わってしまった場合、もしくはメモリダンプウィンドウで、ユーザが実行コードを書き換えてしまった場合などがあります。