MSX-DOS2 FCS 03 92

From Z80 Machines Wiki
Jump to: navigation, search

3.92リダイレクト方向の取得/設定(70H)

パラメータ:C = 70H(_REDIR)

A = 00H =>リダイレクト状態を取得

01H =>リダイレクト状態を設定

B =新しい状態b0 - 標準入力

b1 - 標準出力 結果:A =エラー

B =コマンド前のリダイレクト状態

b0 set =>入力がリダイレクトされます

b1 set =>出力はリダイレクトされます

この機能は、主にディスクエラールーチンや、リダイレクトに関係なく常にコンソールにアクセスする必要があるその他のキャラクタI / O用に提供されています。 CP / M文字機能(機能01h ... 0Bh)が使用されるとき、それらは通常コンソールを参照します。ただし、標準入力または出力ファイルハンドル(ファイルハンドル0および1)が閉じられてディスクファイルに再度開かれた場合、CP / M文字関数もディスクファイルに送られます。ただし、ディスクエラー出力などの特定の出力は、関係なく常に画面に表示されます。

この関数は、この関数をA = 1およびB = 0で呼び出すことによって、そのようなリダイレクトを一時的に取り消すことを可能にします。これにより、それ以降のCP / MコンソールI / Oが確実にコンソールに接続され、その後に復元できるように前の設定も返されます。このようにリダイレクション状態が変更され、この機能を無効にしてリダイレクションを実際の状態にリセットする多くの関数呼び出しがあると、システムはやや不安定な状態になります。一般に、 "open"、 "close"、 "duplicate"などのファイルハンドルを操作する関数呼び出しは、リダイレクト状態をリセットします。したがって、この機能の効果は純粋に一時的なものです。