MSX-DOS2 FCS 03 78

From Z80 Machines Wiki
Jump to: navigation, search

3.78エラーコード付きの終了(62H)

パラメータ:C = 62H(_TERM)

B =終了のためのエラーコード

結果:戻りません


この関数は、指定されたエラーコードでプログラムを終了します。エラーコードは0であり、エラーがないことを示します。この関数呼び出しは、呼び出し元に戻ることはありません(ユーザーの打ち切りルーチンの実行によって強制的に呼び出されない限り) - functionを参照 63h)。この関数の動作は、それが00005hを介してMSX-DOS環境から呼び出されたのか、0F37Dhを介してディスクBASIC環境から呼び出されたのかによって異なります。

00005hを介して呼び出された場合、ユーザアボートルーチンが機能63hによって定義されていると、指定されたエラーコード(およびゼロの2次エラーコード)で呼び出されます。このルーチンが戻ったと仮定して、あるいはユーザアボートルーチンが定義されていなかったとすると、制御は位置00000hでのジャンプを介して一時プログラムをロードしたものすべてに戻されます。これはほとんど常にコマンドインタプリタですが、場合によっては別の一時的なプログラムになることもあります。エラーコードはシステムによって記憶され、実行された次の "join"機能(機能61h)はこのエラーコードを返します。コマンドインタプリタは、20h ... FFhの範囲のコードに対してエラーメッセージを表示しますが、それ以下のエラーに対してはメッセージを出力しません。

この関数が0F37Dhを介してディスクBASIC環境から呼び出されると、制御はロケーション "BREAKVECT"のアボートベクタに渡されます。この環境では、別に定義されたユーザーアボートルーチンはなく、エラーコードは "BREAKVECT"のコードに記憶されている必要があります。なぜなら、 "join"はエラーコードを返さないからです。