COM-файлы - это здорово, потому что вы можете волшебным образом конвертировать исполняемые файлы в текстовые файлы.EXE-файлы всегда имеют заголовок MZ, а COM - нет.Поскольку вы можете генерировать код динамически в арке x86, вы можете генерировать двоичные коды операций, используя коды операций в печатных символах.
Вот пример, программа README.COM:
P5CQ5sPP[X5iK4iH4]P_1?CC5IQ5CBP_1?SX4v4pPZ5iH5i@okey
Text2COM example by 谢继雷 (Lenik).
$
В этом примере загрузочные коды операций генерируют прерывание DOS INT 21H для отображения строки, оканчивающейся на '$'.
Некоторые старые компиляторы могут иметь некоторые опции для поддержки файла .COM, но, поскольку он является 16-разрядным исполняемым файлом, они не поддерживаются уже много лет.