Jump to content

Program Segment Prefix

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 80.254.191.241 (talk) at 02:00, 22 September 2004. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

The Program Segment Prefix (PSP) is a datastructure used in DOS systems to store the state of a programm. It has the following strucutre:

Offset Size    Contens
--------------------------------------------------------------------
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 DOS (internal)
0A-0D  DWord   Terminate address of previos program (old INT 22)
0E-11  DWord   Break address of previos program (old INT 23)
12-15  DWord   Critical error address of previos program (old INT 24)
16-17  Word    Parent psp segment (PSP of caller - usualy
               command.com - internal)
18-2B  Bytes   Job File Table(JFT) (internal) 
2C-2D  Word    Enviroment 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    CP/M function call (always contain INT 21 + RETF)
53-5B          Reserved
5C-6B          Unopened Standart FCB 1
6C-7F          Unopened Standart 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)