CP/M での PIP
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2012/09/22 03:56 UTC 版)
「Peripheral Interchange Program」の記事における「CP/M での PIP」の解説
ゲイリー・キルドールは CP/M で PIP とファイルのコンセプトをRSTS/Eなどから流用した。フロッピーディスク上のファイルにアクセスするだけでなく、CP/M の PIP は以下のような「スペシャルファイル」間でデータ転送が可能だった。 CON: — コンソール (入出力) AUX: — 補助デバイス。CP/M 1 および 2 では、AUX: ではなく PUN: (紙テープパンチ)と RDR: (紙テープリーダー)を用いていた。 LST: — リスト出力デバイス。通常はプリンター PRN: — LST: と同じ。ただし、行番号が付与され、タブ文字が拡張され、60行毎にフォームフィードが付与される。 NUL: — ヌルデバイス。入力としては /dev/zero、出力としては /dev/null として機能する。 EOF: — End Of File 文字(ASCII 0x1A)を生成する入力デバイス INP: — カスタム入力デバイス。デフォルトでは EOF: と同じ。 OUT: — カスタム出力デバイス。デフォルトでは NUL: と同じ。 これらはPIPでしか使えないため、真のスペシャルファイルではない。2つのカスタムデバイスは、PIPプログラムの先頭から固定の位置に呼び出しコードが実装されていた。これは、ユーザーやOEMがその位置にパッチを当てることで独自の入出力機器をサポート可能とすることを意図していた。プログラム内にはそのための246バイトの空き領域が用意されていた。 CP/M では PIP destination=source という構文だけでなく、PIP destination_source という構文もあった。これは、端末によっては '_' を左向きの矢印で表示するものがあったためである。つまり、PIP destination←source のように表示された。これは文書には明記されておらず、CP/M ではファイル名に使える文字の種類が明確に定義されていなかった。このため、アンダースコアを使ったファイル名もエラーにはならず、そのようなファイルはPIPでうまく扱えない。
※この「CP/M での PIP」の解説は、「Peripheral Interchange Program」の解説の一部です。
「CP/M での PIP」を含む「Peripheral Interchange Program」の記事については、「Peripheral Interchange Program」の概要を参照ください。
- CP/M での PIPのページへのリンク