It has the following structure:
<table border="1">
Offset Size Contents
<tr><td>Offset</td><td>Size</td><td>Contents</td></tr>
--------------------------------------------------------------------
<tr><td>00-01 </td><td>Code </td><td>CP/M exit (always contain INT 20)</td></tr>
<tr><td>02-03 </td><td>Word </td><td>Memory size in paragraphs</td></tr>
<tr><td>04</td><td> </td><td>Reserved</td></tr>
<tr><td>05-09 </td><td>Code </td><td>Far call to CP/M compatibility code within DOS</td></tr>
<tr><td>0A-0D </td><td>DWord </td><td>Terminate address of previous program (old INT 22)</td></tr>
<tr><td>0E-11 </td><td>DWord </td><td>Break address of previous program (old INT 23)</td></tr>
<tr><td>12-15 </td><td>DWord </td><td>Critical error address of previous program (old INT 24)</td></tr>
<tr><td>16-17 </td><td>Word </td><td>Parent psp segment (PSP of caller - usually command.com - internal)</td></tr>
<tr><td>18-2B </td><td>Bytes </td><td>[[Job File Table]](JFT) (internal) </td></tr>▼
command.com - internal)
<tr><td>2C-2D </td><td>Word </td><td>Environment segment </td></tr>▼
▲ 18-2B Bytes [[Job File Table]](JFT) (internal)
<tr><td>2E-31 </td><td>DWord </td><td>SS:SP on entry to last INT 21 call (Internal) </td></tr>▼
▲ 2C-2D Word Environment segment
<tr><td>32-33</td><td>Word</td><td>Max open files (Internal - see below)</td></tr>
▲ 2E-31 DWord SS:SP on entry to last INT 21 call (Internal)
32<tr><td>34-33 Word Max open37</td><td>DWord</td><td>Handle-entries filesaddress (Internal - see below)</td></tr>
<tr><td>38-4F</td><td> </td><td>Reserved</td></tr>
34-37 DWord Handle-entries address (Internal - see below)
<tr><td>50-52 </td><td>Code </td><td>Far call to DOS (always contain INT 21 + RETF) </td></tr>▼
38-4F Reserved
<tr><td>53-5B</td><td> </td><td>Reserved</td></tr>
▲ 50-52 Code Far call to DOS (always contain INT 21 + RETF)
<tr><td>5C-6B </td><td> </td><td>Unopened Standard FCB 1 </td></tr>▼
53-5B Reserved
<tr><td>6C-7F </td><td> </td><td>Unopened Standard FCB 2 (overwritten if FCB 1 is opened)</td></tr>▼
▲ 5C-6B Unopened Standard FCB 1
<tr><td>80 </td><td>Byte </td><td>Number of characters on command-line (excl. filename and trailing blanks but including leading blanks)</td></tr>▼
▲ 6C-7F Unopened Standard FCB 2 (overwritten if FCB 1
<tr><td>81-FF </td><td>Bytes </td><td>Command-line (terminated by a 0Dh) </td></tr>▼
is opened)
</table>
▲ 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)
[[Category:DOS on IBM PC compatibles]]
|