The data in an LIDATA record may be modified by the linker if the LIDATA record is immediately followed by a FIXUPP record.
1 byte 2 bytes ÚÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂ--- ³ A3 ³ Record ³ ³ ³ Length ³ ÀÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁ--- 1 or 2 4 bytes <from Record Length> 1 byte --ÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄ¿ ³ Seg. ³ Data ³ Data ³Chk sum³ ³ Index ³ Offset ³ Block ³ or 0 ³ --ÁÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÙ <----- repeat ----->
The segment index and data offset (4 bytes) are the same as for an LEDATA record. The index must be nonzero.
Data Block
The data blocks have the following form:
4 bytes 2 bytes <-- from block count --> ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Repeat ³ Block ³ Content ³ ³ Count ³ Count ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ <-------------------- Data Block ------------------->
The Repeat Count is a 32-bit value which determines the number of repeats of the content portion.
CONFLICT:The PharLap OMF uses a 16-bit repeat count even in 32-bit records.
Block Count
The Block Count is a 16-bit word whose value determines the interpretation of the content portion, as follows:
A subsequent FIXUPP record may occur; the fixup is applied before the iterated data block is expanded. It is a translator error for a fixup to reference any of the count fields.