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 ------>
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 1where
MATTR
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.