MZ (формат)

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
MZ
Расширение .exe или .dll
MIME-тип application/x-dosexec[1], application/x-msdos-program[2] и application/x-ms-dos-executable[3]
Сигнатура MZ или ZM
Разработчик Майкрософт
Тип формата exe-формат исполняемых файлов[вд]
Расширен из .COM
Развит в New Executable
Linear Executable
Portable Executable

MZ — стандартный формат 16-битных исполняемых файлов с расширением .EXE для DOS. Назван так по сигнатуре — ASCII-символам MZ (4D 5A) в первых двух байтах. Эта сигнатура — инициалы Марка Збиковски, одного из создателей MS-DOS.[4]

Формат был разработан как замена устаревшему формату .COM. Исполняемые файлы MZ включают метаданные, могут иметь размер больше 64 Кбайт и использовать несколько сегментов памяти различного типа (кода, данных и стека), точка входа в программу также может быть в любом месте (в файлах .COM выполнение команд всегда начинается непосредственно с начала файла). Метод загрузки исполняемого файла определяется по сигнатуре: при её наличии обрабатывается MZ-заголовок, при отсутствии файл запускается как .COM — независимо от расширения файла (например, в последних версиях MS-DOS интерпретатор командной строки COMMAND.COM на самом деле является EXE-файлом).

Исполняемые файлы более поздних форматов для Windows начинаются с MZ-заглушки. Обычно заглушка, добавляемая компиляторами, выводит сообщение наподобие «This program cannot be run in DOS mode» («Эту программу невозможно запустить в режиме DOS»).

В старых компоновщиках для DOS могла применяться сигнатура ZM, которая также распознается MS-DOS и рядом совместимых ОС.[5]

Примечания

[править | править код]