PSP (1)
読み:ピーエスピー
外語:PSP: Program Segment Prefix
CP/M系のオペレーティングシステム(CP/M、MSX-DOS、MS-DOS)で、プログラムがロードされたセグメントの最初に配置される256バイトのメモリー領域。BDOSと呼ばれるBIOSコール用のエントリやコマンドライン文字列などが格納されている。
コラム(MS-DOS の PSP)
──┬────┬─────────────────────────
ofs.│サイズ │内容
──┼────┼─────────────────────────
00H │WORD │int 20h; プロセス終了命令
02H │WORD │割り当てメモリーブロックの直後のセグメント
04H │BYTE │予約
05H │5BYTEs │INT 21h に対応する CALLF; CP/M 互換機能 (BDOS)
0AH │DWORD │INT 22h に対応するアドレス; プロセス終了
0EH │DWORD │INT 23h に対応するアドレス; ctrl-C
12H │DWORD │INT 24h に対応するアドレス; 致命的エラー
──┼────┼─────────────────────────
16H │WORD │親プロセスのPSPセグメント ↑非
18H │14BYTEs │デフォルトのFCBテーブル │公
2CH │DWORD │環境変数領域のセグメント │開
2EH │DWORD │SP退避エリア │
30H │DWORD │SS退避エリア │
32H │DWORD │FCBテーブルの数(DOS3以降; 通常は14h固定) │
34H │DWORD │FCBテーブルへのポインター(DOS3以降;通常PSP18hを指す)
38H │DWORD │手前のPSPへのポインター(DOS3以降) │
3CH │4BYTEs │予約 │
40H │WORD │システムファンクション 30h の戻り値 │非
│ │DOS のバージョン番号(DOS5以降); setver(1)用 │公
42H │14BYTEs │予約 ↓開
──┼────┼─────────────────────────
50H │3BYTEs │INT 21H, RETF
53H │9BYTEs │予約
5CH │16BYTEs │第1FCB(File Control Block)
6CH │20BYTEs │第2FCB
80H │BYTE │コマンドラインの文字数 │デフォルトDTA
81H │127BYTEs│コマンドライン(0DHで終端) │(disk transfer area)
│ │80h から 128 bytes はデフォルトDTAも兼ねている
──┴────┴─────────────────────────
再検索