Summary of source and object program structures
The differences between the load module model and the program object model, and their interactions with assembler language instructions, are summarized in the following table:
Property | Load ModuleModel |
Program ObjectModel |
---|---|---|
Form of object program | One-dimensional module | Two-dimensional module |
Smallest indivisible independently relocatable component | Control section | Element and part |
Residence Mode | Only one | One per class |
Addressing Mode | Only one | One per entry point |
Compatibility | Can be converted to program object | Can be converted to load module with limitations |
Assembler Option | NOGOFF or GOFF | GOFF only |
Assembler statements | CSECT, RSECT, START | CSECT, RSECT, START, CATTR, XATTR |
Assignable loadable-program attributes | RMODE | RMODE, alignment, load type |
External symbol types | SD/CM, LD, ER/WX, PR | SD, ED, LD, ER/WX, PR, PD |
External symbol maximum length | 8 characters | 256 characters |
External symbol scope | Module (WX), Library (ER) | Section, Module, Library, Import/Export |
External symbol attributes | AMode, RMode | AMode, RMode, scope, PSect name, linkage type, reference type, extended attributes |
Object module record types | ESD, TXT, RLD, END, SYM | HDR, ESD, TXT, RLD, END, LEN |
Address constant types | A, V, Q, CXD | A, V, Q, J, R, CXD |
Binding attributes | Catenate (SD),Merge-like (CM,PR) | Catenate (non-Merge classes), Merge classes (Parts, Pseudo-Registers) |
Text types | Byte stream | Byte stream, records (structured and unstructured) |
Maximum contiguous text length | 16 MB | 1 GB |