Jump to content

Исполняемый файл DOS MZ

(Перенаправлено из исполняемого файла DOS )

Исполняемый файл DOS MZ
Расширение имени файла
Тип интернет-СМИ приложение/x-dosexec, приложение/x-msdos-программа, приложение/x-ms-dos-исполняемый файл
Магическое число MZ
Тип формата Двоичный , исполняемый файл
Распространено на Новый исполняемый файл
Линейный исполняемый файл
Портативный исполняемый файл

Исполняемый формат DOS MZ — это формат исполняемого файла, используемый для . EXE- файлы в DOS .

Файл можно идентифицировать по строке ASCII «MZ» ( шестнадцатеричное : 4D 5A) в начале файла (« магическое число »). «MZ» — инициалы Марка Збиковски , одного из ведущих разработчиков MS-DOS . [ 1 ]

Исполняемый файл MZ DOS новее формата исполняемого файла COM и отличается от него. исполняемого файла DOS Заголовок содержит информацию о перемещении , которая позволяет загружать несколько сегментов по произвольным адресам памяти и поддерживает исполняемые файлы размером более 64 КБ; однако этот формат по-прежнему требует относительно небольших ограничений памяти. Эти ограничения позже были обошли с помощью расширителей DOS .

Обработка сегментов

[ редактировать ]

Окружение программы EXE, запускаемой DOS, находится в ее префиксе сегмента программы .

Файлы EXE обычно имеют отдельные сегменты для кода, данных и стека. Выполнение программы начинается с адреса 0 сегмента кода , а регистр указателя стека устанавливается на любое значение, содержащееся в информации заголовка (таким образом, если заголовок указывает стек длиной 512 байт, указатель стека устанавливается на 200h). При желании можно не использовать отдельный сегмент стека и просто использовать сегмент кода для стека.

Регистр DS ( сегмент данных ) обычно содержит то же значение, что и регистр CS (сегмент кода), и не загружается фактическим адресом сегмента данных при инициализации EXE-файла; программисту необходимо установить его самостоятельно, обычно это делается с помощью следующих инструкций:

    MOV AX, @DATA
    MOV DS, AX

Прекращение действия

[ редактировать ]

В исходном API DOS 1.x также необходимо было, чтобы регистр CS указывал на сегмент с PSP при завершении программы; это было сделано с помощью следующих инструкций:

    PUSH DS
    XOR AX, AX
    PUSH AX

Завершение программы затем будет выполняться инструкцией RETF, которая извлекает исходный адрес сегмента с PSP из стека, а затем переходит к адресу 0, который содержит инструкцию INT 20h.

API DOS 2.x представил новую функцию завершения программы, INT 21h Function 4Ch, которая не требует сохранения адреса сегмента PSP в начале программы, и Microsoft посоветовала не использовать старый метод DOS 1.x.

Совместимость

[ редактировать ]

Исполняемые файлы MZ DOS можно запускать из операционных систем DOS и Windows 9x . 32-битные операционные системы на базе Windows NT могут выполнять их, используя встроенную виртуальную машину DOS (хотя некоторые графические режимы не поддерживаются). 64-битные версии Windows не могут их выполнить. Альтернативные способы запуска этих исполняемых файлов включают DOSBox и DOSEMU .

Исполняемые файлы MZ DOS могут создаваться с помощью компоновщиков, таких как Digital Mars Optlink , MS linker , VALX или Open Watcom 's WLINK; кроме того, FASM может создавать их напрямую.

См. также

[ редактировать ]

Дальнейшее чтение

[ редактировать ]
  • Пол, Матиас Р. (07.10.2002) [2000]. «Re: Запуск COM-файла» . Группа новостей : alt.msdos.programmer . Архивировано из оригинала 3 сентября 2017 г. Проверено 3 сентября 2017 г.
  • Матиас Пол (07 октября 2002 г.). «Проблемы, связанные с masm.com(PSP)» . Дискуссионная группа alt.lang.asm .
  1. ^ Внутри Windows: углубленный анализ формата переносимых исполняемых файлов Win32 — журнал MSDN, февраль 2002 г. Архивировано 11 июля 2018 г. на Wayback Machine . «Каждый PE-файл начинается с небольшого исполняемого файла MS-DOS. ... Первые байты PE-файла начинаются с традиционного заголовка MS-DOS, называемого IMAGE_DOS_HEADER. Единственными двумя важными значениями являются e_magic и e_lfanew... . Поле e_magic (слово) должно быть установлено в значение 0x5A4D... В представлении ASCII 0x5A4D — это MZ, инициалы Марка Збиковски, одного из первых разработчиков MS-DOS».
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 672dd3f8bffefe8f3032ca4802417b82__1694382060
URL1:https://arc.ask3.ru/arc/aa/67/82/672dd3f8bffefe8f3032ca4802417b82.html
Заголовок, (Title) документа по адресу, URL1:
DOS MZ executable - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)