Binder Manual (G06.24+, H06.03+)

Object File Structure
Binder Manual528613-003
4-9
Header
Header
The object file header is a block at offset zero containing pointers and descriptive
information for other regions in the object file.
Code Region
The code region consists of consecutive pages of disk space, starting on a page
boundary, in the object file. Binder output statistics give the exact number of pages to
be allocated for the code area at run time.
Code region contents, in order, are:
1. PEP table
2. Global read-only arrays (TAL only)
3. Resident code blocks (TAL only)
4. Nonresident code blocks
5. XEP table
You can define the order of blocks that Binder uses to build the code region. In building
the file, Binder separates resident code blocks from nonresident code blocks for you.
In the completed target file, nonresident code can come before resident code if
compression of the target file requires it. Binder compresses the file contents by
moving nonresident blocks that fit in the gap at 32K even if resident code blocks are
placed above the 32K boundary. The SELECT COMPACT OFF command prevents
Binder from performing any compression or filling the gap.
Multiple-Code-Segment Files
For small programs, Binder builds single-code-segment files. But if a program exceeds
64K words of code or 512 entry points, Binder builds its object file with multiple code
segments. You can also create multiple-code-segment files explicitly by using the ADD
SPACE command or the MOVE entry-list IN NEW SPACE command.
Note. This figure shows a single code segment in the code region. Normally, many more code
segments would appear.
Note. The object file format may change. New versions of Binder will accept all existing Binder
object file formats; however, old versions of Binder will not accept new object file formats.