Outils pour utilisateurs

Outils du site


back2root:ibm-pc-ms-dos:hardware:informations:program_segment_prefix

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Dernière révisionLes deux révisions suivantes
back2root:ibm-pc-ms-dos:informations:program_segment_prefix [2023/01/11 09:44] – [Tableau] fraterback2root:ibm-pc-ms-dos:hardware:informations:program_segment_prefix [2023/01/16 17:54] – supprimée - modification externe (Unknown date) 127.0.0.1
Ligne 1: Ligne 1:
-====== PSP - DOS Program Segment Prefix Layout ====== 
  
-The Program Segment Prefix (PSP) is a data structure used in DOS systems to store the state of a program. It resembles the Zero Page in the CP/M operating system. The PSP has the following structure: 
- 
-{{tablelayout?rowsHeaderSource=Auto}} 
-^  Offset  ^  Size      ^  Description                                                                                                                                                                                                                                     ^ 
-|  00      | word       | CP/M like exit code, always contains machine code [[back2root:ibm-pc-ms-dos:interrupts:int_20|INT 20]] instruction (CDh 20h)                                                                                                                     | 
-|  02      | word       | top of memory in segment (paragraph) form                                                                                                                                                                                                        | 
-|  04      | byte       | reserved for DOS, usually 0                                                                                                                                                                                                                      | 
-|  05      | 5 bytes    | 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      | [[back2root:ibm-pc-ms-dos:interrupts:int_22|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      | [[back2root:ibm-pc-ms-dos:interrupts:int_23|INT 23]] Ctrl-Break exit address; the original INT 23 vector is NOT restored from this pointer (IP,CS)                                                                                               | 
-|  12      | dword      | [[back2root:ibm-pc-ms-dos:interrupts:int_24|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      | 20 bytes   | 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+) ((see Bibliography for reference to "Undocumented DOS"))                                                                                                                                    | 
-|  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+) ((see Bibliography for reference to "Undocumented DOS"))                                                                                                                                   | 
-|  3C      | 20 bytes   | unused in DOS before 4.01  ((see Bibliography for reference to "Undocumented DOS"))                                                                                                                                                              | 
-|  50      | 3 bytes    | DOS function dispatcher CDh 21h CBh (Undoc. 3.x+) ((see Bibliography for reference to "Undocumented DOS"))                                                                                                                                       | 
-|  53      | 9 bytes    | unused                                                                                                                                                                                                                                           | 
-|  5C      | 36 bytes   | default unopened FCB #1 (parts overlayed by FCB #2)                                                                                                                                                                                              | 
-|  6C      | 20 bytes   | 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      | 127 bytes  | all characters entered after the program name followed by a CR byte                                                                                                                                                                              | 
- 
-===== Notes ===== 
- 
-<WRAP round box> 
-  * 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. 
-</WRAP>    
back2root/ibm-pc-ms-dos/hardware/informations/program_segment_prefix.txt · Dernière modification : 2023/01/16 17:54 de 127.0.0.1