PSP Layout                                  

        00h   2 BYTEs   Program exit point (CDh / 20h = INT 20h)
        02h     WORD    Segment address of top of programs memory
        04h     BYTE    Unused
        05h   5 BYTEs   CP/M entry point
        0Ah     DWORD   Terminate address      (old INT 22h)
        0Eh     DWORD   Break address          (old INT 23h)
        12h     DWORD   Critical error handler (old INT 24h)
        16h     WORD    Parent PSP segment
        18h  20 BYTEs   DOS 2+ open file table, FFh = unused
        2Ch     WORD    DOS 2+ environment segment
        2Eh     DWORD   Process's SS:SP
        32h     WORD    DOS 3.x max open files
        34h     DWORD   DOS 3.x open file table address
        38h     DWORD   SHARE's previous PSP
        3Ch  20 BYTEs   Unused
        50h   3 BYTEs   DOS function dispatcher (FAR routine)
        53h   9 BYTEs   Unused

        5Ch  16 BYTEs   FCB #1, filled in from first commandline argument
        6Ch  20 BYTEs   FCB #2, filled in from second commandline argument
        80h     BYTE    Command tail counter / Default DTA buffer
        81h 127 BYTEs   Commant tail / Default DTA buffer


Copyright © 1985 to 2022 Beta Systems                            Last modified: Wednesday, January 05, 2022 .