-
Notifications
You must be signed in to change notification settings - Fork 0
ExpressLoad
ksherlock edited this page Jan 12, 2017
·
8 revisions
ExpressLoad data is stored as the first segment. It must have a segment name of (case insensitive) "ExpressLoad" or "~ExpressLoad" (preferred). Previously, it may have checked for a segment kind of dynamic data but that was removed so the linker could generate it as a Skip Segment.
The segment body consists of a single LCONST record.
Offset | Size | Comment |
---|---|---|
$0000 | 4 | reserved - used for a linked list |
$0004 | 2 | number of entries - 1 |
For each segment: (segments are re-arranged to put static segments first)
Offset | Size | Comment |
---|---|---|
$0000 | 2 | relative segment offset |
$0002 | 2 | flags - reserved |
$0004 | 4 | handle - reserved |
For each segment:
Offset | Size | Comment |
---|---|---|
$0000 | 2 | actual segment number |
For each segment:
Offset | Size | Comment |
---|---|---|
$0000 | 4 |
LCONST file mark (absolute offset of LCONST data) |
$0004 | 4 |
LCONST size |
$0008 | 4 | relocation mark (absolute offset of first relocation record) |
$000c | 4 | relocation size |
$0010 | 1 | reserved |
$0011 | 1 | label length |
$0012 | 1 | number length |
$0013 | 1 | version |
$0014 | 4 | bank size |
$0018 | 2 | kind |
$001a | 2 | reserved |
$001c | 4 | org |
$0020 | 4 | alignment |
$0024 | 1 | number sex |
$0025 | 1 | reserved |
$0026 | 2 | segment number |
$0028 | 4 | segment entry |
$002c | 2 | displacement to names |
$002e | 2 | displacement to data |
..... | ... | reserved |
..... | ... | name |
n.b. -- mpw iigs linker does not generate the displacement to data field. dumpobjiigs -d does not expect the displacement to data field. ORCA/Linker and Express generate it. Expressload itself doesn't seem to care -- it uses the name displacement but not the data displacement.
See Also: