A COMENT record (0x88) carries notes and extensions. Tools ignore classes they don’t know, which made it the natural place to extend the format.
The record
+0Comment type: bit 7 NP (no purge), bit 6 NL (no list)1 byte+1Comment class1 byte+2Comment bytes, by classvaries
Classes
| Class | Name | Holds |
|---|---|---|
0x00 | Translator | The name of the compiler or assembler, as text |
0x01 | Intel copyright | Text |
0x81 | Library specifier | Obsolete; as 0x9F |
0x9C | MS-DOS version | A version word; obsolete |
0x9D | Memory model | Letters such as s, l or f |
0x9E | DOSSEG | No contents: use the standard DOS segment order |
0x9F | Default library | A library name the linker should also search |
0xA0 | OMF extensions | See below |
0xA1 | New OMF extension | A version byte and a two-letter style, such as CV for CodeView |
0xA2 | Link pass separator | Marks the end of what the linker needs in its first pass |
0xA3 | LIBMOD | A library module’s name |
0xA4 | EXESTR | Text to copy into the program |
0xA6 | INCERR | An incremental compile error |
0xA7 | NOPAD | Segments not to pad |
0xA8 | WKEXT | Pairs of external indexes: a weak name and its default |
0xA9 | LZEXT | Pairs of external indexes: a lazy name and its default |
0xAA | Easy OMF-386 | Phar Lap’s marker, text 80386: this module has 32-bit fields even in records with even types |
0xDA–0xDF | Comment, Compiler, Date, Timestamp, User | Text notes |
0xE9 | Dependency file | Borland: a source file’s date, time and name |
0xFE | Linker directive | Watcom: a letter and its data |
0xFF | Command line | Microsoft QuickC: the compiler’s command line |
Other classes in real files, such as Borland’s debug classes, are not described here.
Class 0xA0: OMF extensions
The first byte after the class is a subtype:
| Subtype | Name | Holds |
|---|---|---|
| 1 | IMPDEF | An import: an ordinal flag byte, the internal name, the DLL’s name, and an ordinal word or an entry name |
| 2 | EXPDEF | An export: a flag byte, the exported name, the internal name, and an ordinal word if bit 7 of the flag byte is set |
| 3 | INCDEF | Incremental compile information |
| 4 | Protected memory library | Marks a library for protected mode |
| 5 | LNKDIR | Linker directives |
| 6 | Big-endian | The module’s data is big-endian |
| 7 | PRECOMP | Precompiled type information |