The Iterated Data Pages section contains all the
pages for a linear EXE module that are iterated. When required, the set
of iteration records are loaded into memory from the module and expanded
to reconstitute the page. Every set of iteration records begins on a PAGE
OFFSET SHIFT offset from the OBJECT ITER PAGES OFF specified in the linear
EXE header. Their sizes are determined by the Object Page Table entries
that correspond. The pages are ordered by logical page number within this
section. This record structure is used to describe the iterated data for
an object on a per-page basis.
ÚÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄ¿
00h ³#ITERATIONS³DATA LENGTH³
ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄ¿
04h ³DATA BYTES ³ . . . ³ ... ³
ÀÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÙ
Object Iterated Data Record (Iteration Record)
ITERATIONS = DW Number of iterations. This specifies the number of
times that the data is replicated.
DATA LENGTH = DW The size of the data pattern in bytes. This specifies
the number of bytes of data of which the pattern consists. The maximum size
is one half of the PAGE SIZE (given in the module header). If a pattern
exceeds this value then the data page will not be condensed into iterated
data.
DATA = DB * DATA LENGTH The Data pattern to be replicated. The next iteration
record will immediately follow the last byte of the pattern. The offset
of the next iteration record is easily calculated from the offset of this
record by adding the DATA LENGTH field and the sizes of the #ITERATIONS
and DATA LENGTH fields.
[Back: Demand Load Pages]
[Next: Debug Information]