Online HelpPC 2.10      Quick Reference Utility     Copyright 1991 David Jurgens
 
                   PSP - DOS Program Segment Prefix Layout                   
                                                                                
     Offset Size              Description                                       
                                                                                         00   word       machine code INT 20 instruction (CDh 20h)                        02   word       top of memory in segment (paragraph) form                        04   byte       reserved for DOS, usually 0                                      05  5bytes      machine code instruction long call to the DOS                                    function dispatcher (obsolete CP/M)                              06   word       .COM programs bytes available in segment (CP/M)                  0A   dword      INT 22 terminate address;  DOS loader jumps to this                              address upon exit;  the EXEC function forces a child                             process to return to the parent by setting this                                  vector to code within the parent (IP,CS)                         0E   dword      INT 23 Ctrl-Break exit address; the original INT 23                              vector is NOT restored from this pointer (IP,CS)                 12   dword      INT 24 critical error exit address; the original                                 INT 24 vector is NOT restored from this field (IP,CS)            16   word       parent process segment addr (Undoc. DOS 2.x+)                                    COMMAND.COM has a parent id of zero, or its own PSP              18  20bytes     file handle array (Undocumented DOS 2.x+); if handle                             array element is FF then handle is available.  Network                           redirectors often indicate remotes files by setting                              these to values between 80-FE.                                   2C   word       segment address of the environment, or zero (DOS 2.x+)           2E   dword      SS:SP on entry to last INT 21 function (Undoc. 2.x+) ╪           32   word       handle array size (Undocumented DOS 3.x+)                        34   dword      handle array pointer (Undocumented DOS 3.x+)                     38   dword      pointer to previous PSP (deflt FFFF:FFFF, Undoc 3.x+) ╪          3C  20bytes     unused in DOS before 4.01  ╪                                     50   3bytes     DOS function dispatcher CDh 21h CBh (Undoc. 3.x+) ╪              53   9bytes     unused                                                           5C  36bytes     default unopened FCB #1 (parts overlayed by FCB #2)              6C  20bytes     default unopened FCB #2 (overlays part of FCB #1)                80   byte       count of characters in command tail;  all bytes                                  following command name;  also default DTA (128 bytes)            81 127bytes     all characters entered after the program name followed                           by a CR byte                                                                                                                                                                                                                                                                                                        - offset 5 contains a jump address which is 2 bytes too low for                    PSP's created by the DOS EXEC function in DOS 2.x+  ╪                          - program name and complete path can be found after the environment                in DOS versions after 3.0.  See offset 2Ch.                                                                                                                     ╪ see Bibliography for reference to "Undocumented DOS"                                                                                                     
[helppc.bosbyte.nl]         Program Segment Prefix            Home  Back  Topics