PSP (1)
読み:ピーエスピー
外語:PSP: Program Segment Prefix

 CP/M系のオペレーティングシステム(CP/MMSX-DOSMS-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も兼ねている
──┴────┴─────────────────────────

再検索