Text record
This GOFF definition describes three basic mechanisms or styles of
supplying text information:
- Byte-oriented data is an unstructured stream of bytes to
be placed at a specified offset (
address
, for Assembler users) within a designated element of the program object.Byte-oriented data is typified by machine language instructions and data (as in current OBJ TXT records). (These can be thought of as analogous to
U-format
inputs.) - Structured-record data is in the form of fixed-length records
whose internal structure is known to and defined by the program management
binder, and which will be placed in the
C'B_IDRL'class. (These can be thought of as analogous toF-format
inputs.)The only currently acceptable form is 19-byte IDR data. (See Figure 1.) Data records of any other length or content must be defined by the program management binder.
An example of structured-record data is current OBJ IDR data, which is in the form of one or two 19-byte structures on an OBJ END record.
- Unstructured-record data is in the form of records whose
internal structure is (and will remain) unknown to the program management
binder, which will simply append such records (prefixed by a length
field) at the current end of the designated element. The length of
each such record must be supplied by its provider. (These can be thought
of as analogous to
V-format
inputs.)Examples of unstructured-record data are current OBJ SYM data and GOFF ADATA records.
A text record has the following format:
| Field | Offset | Type | Description |
|---|---|---|---|
| PTV | 0-2 | Byte(3) | Type of record
|
| 3.0-3 | Bit(4) | Reserved. | |
| Text Record Style | 3.4-7 | Bit(4) | Designates the style of text data on this record:
Note: All structured-record data in a text record
must have the same format.
All other values are reserved. Note: This
field replicates a similar field in the element definition, so that
text records can be checked for consistency.
|
| Element ESDID | 4-7 | Binary(4) | ESDID of the element or part to
which the data on this (and any subsequent continuation) records belongs. Note: Since
the ED or PR record contains both the class name and the ESDID of
the Section Definition (SD) record, this field uniquely identifies
the program object element to which this data belongs.
|
| 8-11 | Binary(4) | Reserved. | |
| Offset | 12-15 | Binary(4) | Starting offset from the element or part origin
of the text on this (and any subsequent continuation) records. This
field must be zero for structured-record and unstructured-record styles
of data. Note: The offset for Assembler-produced text can be relative
to a nonzero element origin.
|
| Text Field True Length | 16-19 | Binary(4) | If the Text Encoding Type in the following field is zero, this field must be zero. If the Text Encoding Type is nonzero, this field specifies the length of the text after expansion. |
| Text Encoding | 20-21 | Binary(2) | If the text on this record is not compressed or not encoded, this field must be zero. A nonzero value indicates that the data is encoded, and will require decoding, expansion, or other treatment. See Text encoding and compression. |
| Data Length | 22-23 | Binary(2) | Total length in bytes of the data on this (and any following continuation) record. This length is unsigned and cannot be zero. |
| Data | 24-* | Byte(n) | The next n bytes of data. Note: The
IDR data must follow conventions and rules for translator-produced
IDR data. (See Figure 1.)
The format for emitting IDR data is given in Identification record data field below.
|
| Trailer | Byte(m) | Unused space at the end of a record is reserved, and cannot be used for any other purpose. |