Формат объектного модуля (Intel)
-
История и развитие формата OMF
- OMF был разработан Intel в 1975-1977 годах для микропроцессоров 80×86.
- Изначально был предназначен для 8-разрядных процессоров 8080/8085, позже адаптирован для 16-разрядного 8086.
- Версия 4.0 OMF выпущена в 1981 году, известна как Relocatable Object Module Format.
- Версии для 80286 и 32-разрядных 80386 процессоров представлены в 1981 и 1985 годах соответственно.
-
Структура и особенности формата OMF
- Формат OMF состоит из записей, которые могут содержать комментарии, внешние ссылки, символы и сегменты.
- Записи могут быть разных типов, включая комментарии, внешние определения и исправления.
- В файле нет заголовка с смещениями, компоновщик анализирует весь файл для извлечения информации.
- Данные разделов могут быть представлены несколькими записями, если размер раздела превышает 1 КБ.
- Записи о перемещениях хранятся после данных раздела, к которому они относятся.
- Формат поддерживает сжатие повторяющихся данных и сохранение символьного имени точки входа.
-
Применение и стандарты
- Формат OMF широко используется в DOS, 16-разрядной Windows и OS/2.
- Некоторые инструменты поддерживают 32-разрядную версию OMF, например, Watcom C и Embarcadero Delphi.
- Стандарт OMF был стандартизирован Комитетом по стандартам инструментального интерфейса и расширен Microsoft и IBM.
-
Сравнение с другими форматами объектных файлов
- OMF отличается от других форматов объектных файлов, таких как COFF и ELF, по структуре и функциональности.
- Существуют различные версии OMF для разных архитектур процессоров и операционных систем.
-
Рекомендации и дальнейшее чтение
- В статье указаны ссылки на код и ошибки, связанные с форматом OMF.