Description: The MODEND record denotes the end of the object module. It also indicates whether the object module contains a main routine in a program, and it can, optionally, contain a reference to a programs entry point.
   1 byte  2 bytes
  ÚÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂ---
  ³  8B   ³ Record         ³
  ³       ³  Length        ³
  ÀÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁ---

          1 byte  1 byte  1 or 2    1 or 2    4 bytes        1 byte
       --ÚÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄ¿
         ³ Module³ End   ³ Frame   ³ Target  ³ Target       ³Chk sum³
         ³  Type ³  Data ³  Datum  ³  Datum  ³  Displacement³ or 0  ³
         ³       ³       ³   Index ³   Index ³              ³       ³
       --ÀÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÙ
                  <------ Start Address, conditional ------>

MODEND module end record


Module Type

The module type byte is bit-significant; layout is:

     ÚÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿
     ³   MATTR   ³ Seg ³  0  ³  0  ³  0  ³  0  ³  X  ³
     ³Main  Strt ³ Bit ³     ³     ³     ³     ³     ³
     ÀÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ
        2 bits      1     1     1     1     1     1
where

MATTR

Main Strt SegBit X

Start Address

The Start Address subfield is present only if the Strt bit in the Module Type byte is set. Its format is identical to the FixDat, Frame Datum, Target Datum, and Target displacement in a FIXUP subrecord of a FIXUPP record. The displacement (if present) is a 4 byte field. This value provides the initial contents of CS:EIP.
Notes:

A MODEND record can appear only as the last record in an object module.

It is assumed that the link pass separator comment record (COMENT A2, subtype 01) will not be present in a module whose MODEND record contains a program starting address.


[Back: 88H IDMDLL Identifier Manipulator DLL (comment class AF)]
[Next: 8CH EXTDEF External Names Definition Record]