
8086 Object Module Formats | Version 4.0 |
RECORD ORDER
A object code file must contain a seauence of (one or more) modules, or a library containing zero or more modules. A module is defined as a collection of object code defined by a sequence of
object records. The followinq syntax shows the valid orderinqs of records to form a module. In addition, the qiven semantic rules provide information about how to interpret the record sequence. The syntactic description lan~uage used herein is defined in WIRTH: CACM, November 1977, v 20, nIl, p 822 - 823.
object~file | = sequence I library. |
|
|
| |||||
sequence | = module | {module}. |
|
|
|
| |||
library |
| = LIBHEO | {module} 1ibtail. |
|
| ||||
module |
| = | tmod I | lmod | I rmod | omod. |
| ||
tmod |
| = | THEADR | sqr;_table |
|
| {component} | modtail. | |
lmod |
| = | LHEADR | sQr.table | {data} | It_component} modtail. | |||
rmod |
| = | RHEADR | sgr_table | {data} | It_component} modtail. | |||
omod |
| = RHEADR | sqor_table |
|
| {o,:.component} | o·modtail. | ||
sqr. table | = seq~grp |
|
| [REGINT1. |
| ||||
sqor.table | = | seq qrp | {OVLDEF} | [REGINT1. |
| ||||
seQ.qrp |
| = {LNAMES} {SEGDEF} { TYPDEF I EXTDEF I GRPDEF }. | |||||||
o. component = {data} It_component} ENOREC. |
| ||||||||
t~component | = THEADR | {co~ponent}. |
|
|
| ||||
component | = | data I | debuq. record. |
|
|
| |||
data |
| = content .. def | thread·def | I |
| ||||
|
|
| TYPDEF | PUBDEF | I Ex'rDEF. |
| |||
debuq. record = LOCSYM I LINNUM I DEBSYM I |
| ||||||||
|
|
| BLKDEF I BLKENO I ENOREe. |
| |||||
content | def | = data record | {FIXUPP}. |
|
| ||||
thread | def | = FIXUPP. | (containinq | only | thread fields) |
| |||
data record = LIDATA I LEDATA I PIDATA I PEDATA I |
| ||||||||
|
|
| REDATA | I HIDATA. |
|
|
| ||
o modtail | = {OVLDEF} modtail. |
|
|
|
|
22