.COM (англ. command) — расширение файла, использовалось в некоторых операционных системах в различных целях.
В системах DOS и в 8-битной CP/M COM-файл — простой тип исполняемого файла, размер которого не может превышать 65280 байт (на 256 байт меньше размера 16-битного сегмента — 216−256 байт). COM-файлы для DOS можно выполнять также на эмуляторах, например, в среде Windows.
Кроме COM-файлов DOS поддерживает файлы в формате EXE. Тип файла определяется при запуске автоматически (в формате EXE в начале файла имеется специальная сигнатура), независимо от расширения.
Для запуска .COM-программы MS-DOS выделяет сегмент памяти, устанавливает на него все сегментные регистры, в первых 256 байтах строит PSP, содержимое COM-файла без изменений загружается следом за ним и запускается с первого байта (то есть с адреса 256), предварительно установив указатель стека в конец сегмента.
Модель памяти, используемую COM-программами, когда код программы, все ее данные, PSP и стек расположены в одном сегменте, компиляторы высокоуровневых языков называют TINY (англ. tiny — крохотная).
COM-программы обычно являются небольшими приложениями, системными утилитами или небольшими резидентными программами.
В системах DOS и в 8-битной CP/M COM-файл — простой тип исполняемого файла, размер которого не может превышать 65280 байт (на 256 байт меньше размера 16-битного сегмента — 216−256 байт). COM-файлы для DOS можно выполнять также на эмуляторах, например, в среде Windows.
Кроме COM-файлов DOS поддерживает файлы в формате EXE. Тип файла определяется при запуске автоматически (в формате EXE в начале файла имеется специальная сигнатура), независимо от расширения.
Для запуска .COM-программы MS-DOS выделяет сегмент памяти, устанавливает на него все сегментные регистры, в первых 256 байтах строит PSP, содержимое COM-файла без изменений загружается следом за ним и запускается с первого байта (то есть с адреса 256), предварительно установив указатель стека в конец сегмента.
Модель памяти, используемую COM-программами, когда код программы, все ее данные, PSP и стек расположены в одном сегменте, компиляторы высокоуровневых языков называют TINY (англ. tiny — крохотная).
COM-программы обычно являются небольшими приложениями, системными утилитами или небольшими резидентными программами.