Program Segment Prefix
Encyclopedia : P : PR : PRO : Program Segment Prefix
The Program Segment Prefix (PSP) is a data structure used in DOS systems to store the state of a program. It has the following structure:
| Offset | Size | Contents |
| 00-01 | Code | CP/M exit (always contain INT 20) |
| 02-03 | Word | Memory size in paragraphs |
| 04 | Reserved | |
| 05-09 | Code | Far call to CP/M compatibility code within DOS |
| 0A-0D | DWord | Terminate address of previous program (old INT 22) |
| 0E-11 | DWord | Break address of previous program (old INT 23) |
| 12-15 | DWord | Critical error address of previous program (old INT 24) |
| 16-17 | Word | Parent psp segment (PSP of caller - usually command.com - internal) |
| 18-2B | Bytes | Job File Table(JFT) (internal) |
| 2C-2D | Word | Environment segment |
| 2E-31 | DWord | SS:SP on entry to last INT 21 call (Internal) |
| 32-33 | Word | Max open files (Internal - see below) |
| 34-37 | DWord | Handle-entries address (Internal - see below) |
| 38-4F | Reserved | |
| 50-52 | Code | Far call to DOS (always contain INT 21 + RETF) |
| 53-5B | Reserved | |
| 5C-6B | Unopened Standard FCB 1 | |
| 6C-7F | Unopened Standard FCB 2 (overwritten if FCB 1 is opened) | |
| 80 | Byte | Number of characters on command-line (excl. filename and trailing blanks but including leading blanks) |
| 81-FF | Bytes | Command-line (terminated by a 0Dh) |
From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.
