Microsoft Macro Assembler

редактировать
Microsoft Macro Ассемблер
Разработчик (и) Microsoft
Первоначальный выпуск1981; 39 лет назад (1981 г.)
Стабильный выпуск 14.16.27023.1 / 7 марта 2017 г.; 3 года назад (07.03.2017)
Операционная система Microsoft Windows и MS-DOS
Тип Ассемблер
Лицензия Коммерческая проприетарное программное обеспечение
Веб-сайтdocs.microsoft.com / en-us / cpp / Assemblyr / masm / microsoft- макрос-ассемблер

Microsoft Macro Assembler (MASM ) - это x86 ассемблер, использующий Intel синтаксис для MS-DOS и Microsoft Windows. Начиная с MASM 8.0, существует две версии ассемблера: одна для 16-битных и 32-битных источников ассемблера, а другая (ML64 ) для Только 64-битные исходники.

MASM поддерживается Microsoft, но с версии 6.12 он не продавался как отдельный продукт. Вместо этого он поставляется с различными компиляторами Microsoft SDK и C. Последние версии MASM включены в Microsoft Visual Studio.

Содержание
  • 1 История
  • 2 Форматы объектных модулей, поддерживаемые MASM
  • 3 Ассемблеры, совместимые с MASM
  • 4 Поддержка программирования на разных языках
  • 5 Проблемы с лицензированием
  • 6 См. Также
  • 7 Ссылки
  • 8 Внешние ссылки
История

Самые ранние версии MASM датируются 1981 годом. Они продавались либо как «общие» Microsoft Macro Assembler »для всех машин x86 или как OEM-версия специально для IBM PC. К Версии 4.0 выпуск IBM был удален. До версии 3.0 MASM также был связан с меньшим ассемблером, ASM.EXE. Это было предназначено для ПК с объемом памяти всего 64 КБ, и в нем отсутствовали некоторые функции полного MASM, такие как возможность использования макросов кода.

Версии MS-DOS до 4.x включали утилиту Microsoft LINK, которая была разработана для преобразования промежуточных файлов OBJ, созданных MASM и другими компиляторами; однако, поскольку пользователи, которые не занимались программированием, не использовали эту утилиту, она была перемещена в их пакеты компилятора.

В версии 4.0 добавлена ​​поддержка 286 инструкций, а также сокращенная мнемоника для дескрипторов сегментов (.code,.data и т. Д.). Версия 5.0 поддерживала 386 инструкций, но по-прежнему могла генерировать только исполняемые файлы реального режима.

До версии 5.0 MASM был доступен только как приложение MS-DOS. Версии 5.1 и 6.0 были доступны как приложения MS-DOS и OS/2.

Версия 6.0, выпущенная в 1992 году, добавила передачу параметров с помощью «invoke» и некоторые другие конструкции, подобные высокоуровневым, в дополнение к уже существующим высокоуровневым записям, среди прочего. К концу года в версии 6.1A было обновлено управление памятью для обеспечения совместимости с кодом, созданным с помощью Visual C ++. В 1993 году была добавлена ​​полная поддержка 32-битных приложений в защищенном режиме и набор инструкций Pentium. Бинарный файл MASM в то время поставлялся как «бимодальный» расширенный двоичный файл DOS (с использованием расширителя DOS Phar Lap TNT).

Версии с 6.12 по 6.14 были реализованы как исправления для версии 6.11. Эти исправления изменили тип двоичного файла на собственный формат PE. Версия 6.11 - это последняя версия MASM, которая будет работать под MS-DOS.

К концу 1997 года MASM полностью поддерживал Windows 95 и включал некоторые инструкции для AMD.

В 1999 году Intel выпустила макросы для Инструкции SIMD и MMX, которые вскоре после этого были изначально поддержаны MASM. С выпуском 6.15 в 2000 году Microsoft прекратила поддержку MASM как отдельного продукта, вместо этого включив его в набор инструментов Visual Studio. Хотя он все еще был совместим с Windows 98, текущие версии Visual Studio - нет. Поддержка 64-битных процессоров не была добавлена ​​до выпуска Visual Studio 2005 с MASM 8.0.

После 25 июня 2015 года существует как минимум три разных MASM с номером версии 14.00.23026. В Microsoft Visual Studio 2015 Enterprise Edition есть один «amd64_x86» ml и два ml64, «x86_amd64» и «amd64». Они работают на разных платформах, ориентированных на разные платформы:

  • amd64_x86: генерирует 64-битный код, работает в 32-битной среде Windows
  • x86_amd64: генерирует 32-битный код, работает в 64-битной среде Windows
  • amd64: генерирует 64-битный код, работает в 64-битной среде Windows
Форматы объектных модулей, поддерживаемые MASM

Ранние версии MASM-генерируемых объектных модулей с использованием OMF формат, который использовался для создания двоичных файлов для MS-DOS или OS / 2.

Начиная с версии 6.1, MASM может создавать объектные модули в Portable Executable формат (PE / COFF). PE / COFF совместим с новейшими компиляторами Microsoft C, а объектные модули, созданные MASM или компилятором C, можно регулярно смешивать и связывать с двоичными файлами Win32 и Win64.

Ассемблеры, совместимые с MASM

Некоторые другие ассемблеры могут ассемблировать большую часть кода, написанного для MASM, за исключением более сложных макросов.

  • Turbo Assembler (TASM), разработанный Borland, позже принадлежащий Embarcadero, последний раз обновлявшийся в 2002 году, но все еще поставляемый с C ++ Builder и RAD Studio.
  • JWASM Macro Assembler, под лицензией Sybase Open Watcom EULA.
  • Macro Assembler Pelle, компонент среды разработки Pelles C.
  • UASM - это бесплатный MASM- совместимый ассемблер на основе JWasm.
Поддержка программирования на разных языках

Документация для версии 5.1 1987 года включала поддержку «Microsoft BASIC, C, FORTRAN, Pascal».

Проблемы с лицензированием

Использование MASM для разработки операционных систем не запрещено лицензионным соглашением, хотя иногда вы можете это слышать. Это потому, что люди часто путают лицензии MASM и MASM32; это два не связанных между собой проекта.

См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-30 10:12:37
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте