home *** CD-ROM | disk | FTP | other *** search
- Figure 3. Structure of DOS Memory Control Block (MCB)
-
-
- <-------------------------- 16-byte paragraph -------------------------->
-
- offset
- 0 1 3 5 8
- +----+--------+--------+------------+-----------------------------------+
- | Tag| Owner | Size | | DOS 4.0: Program Name |
- +----+--------+--------+------------+-----------------------------------+
-
-
- Notes: 1. "Tag" is hex 4D (M) for all MCBs, except the last, which is
- hex 5A (Z). Consecutive null MCBs, with tag hex 00 and size 0,
- have been observed with IBM's INDCIPL.EXE/INDXMAA.SYS programs.
- In some rare cases the final block may not be properly tagged.
-
- 2. "Owner" is a segment address pointer. The owner of this
- block starts at address owner:0. A free block has an
- owner of hex 0000.
-
- The owner memory block follows the MCB only for a program.
-
- 3. The "Size" of the block following the MCB is given in
- paragraphs. "Size" does not include the paragraph needed
- for the MCB itself.
-
- 4. In DOS 4.0 when the MCB represents a program block, the 1-8
- character "Program Name" is in the last 8 bytes of the MCB. If
- the program name is less than 8 characters long, the name is
- followed by a hex 00 character. When the MCB represents
- other block types (e.g., an environment), the "Program
- Name" is not present. However, the MCB of the owner
- program has the name.
-
- For DOS 3.X the "Program Name" must be found after the
- environment variables in the corresponding environment block.
-
- The "Program Name" is unknown for DOS 2.X or earlier.