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]