CP/M 2.2 で Turbo Pascal 3.01A を実行しています。Turbo Pascal の R メニュー オプションを使用して実行している私の Pascal プログラムにバグがあり、無限ループに陥ったとします。プログラムを中断して Turbo Pascal メニューに戻る特別な制御文字はありますか?
2 に答える
{U+} ディレクティブにより、コンパイルされたコードは各ステートメントの後にキーがヒットしたかどうかをチェックします。そうであれば、^C のキーストロークがチェックされます。^C でない場合、キーストロークは破棄されます。これにより、プログラムを中断することができますが、動作が遅くなり、タイプアヘッド機能が無効になります。残念ながら、CP/M はキーボード割り込みをまったく提供していません (ただし、一部の CP/M 実装では提供されている場合があります)。Turbo Pascal に独自のキーボード バッファリングを実装するオプションがあればいいのですが、私は知りません。
Turbo Pascal 3 プログラムの開始時 (Program
ステートメントの下) に Compiler Directive があり{$U+}
ます。CTRLこれにより、 +を実行できるようになりますC。これは、プログラムの実行速度が遅くなるため、プログラムのデバッグ中にのみ使用してください。問題なく動作する場合は、削除してからプログラムをコンパイルします。
通常、Turbo Pascal 3 では、コンパイラに一連のデフォルト コンパイラ ディレクティブがあります。通常、「U - ユーザー割り込み」はデフォルトでオフになっています。
つい最近、Turbo Pascal プログラムで見つけたもう 1 つのことは、プログラムのデバッグ中にこれを使用していて、何らかの理由で機能していなかったことです。そこで何が起こっているのかわからず、プログラムを終了するには、この組み合わせを押し続ける必要があることがわかりました。プログラムの実行速度と関係があるのか 、それともネストされたループの使用がこれを引き起こしたのかは不明です.