Microsoft Macro Assembler
Версии ассемблеров
Microsoft Macro Assembler (MASM)
Flat assembler (FASM)
NASM (Netwide Assembler)
Turbo Assembler (TASM)
GoAsm
MASM – ассемблер для процессоров семейства х86. Произведен Microsoft для написания программ в ОС MS-DOS. Поддерживал широкое разнообразие макросредств и структурированность программных идиом, включая конструкции высокого уровня для портов, вызовов процедур и чередований (поэтому MASM – ассемблер высокого уровня)
Flat assembler (FASM)
FASM – свободно распространяемый многопроходной ассемблер, написанный Томашем Грыштаром. FASM написан на самом себе, обладает небольшими размерами и очень высокой скоростью компиляции, имеет богатый и ёмкий макро-синтаксис, позволяющий автоматизировать множество рутинных задач.
Компиляция программ FASM состоит из 2 стадий: препроцессирование и ассемблирование. На стадии препроцессора раскрываются все макросы, символические const, обрабатываются директивы препроцессора. В отличии от стадии ассемблирования препроцессирование выполняется только 1 раз. Смешивание стадий ассемблирования ошибка начинающих.
Используется Intel-синтаксис записи инструкций. Единственное существенное отличие от формата, принятого в других ассемблерах – значение ячейки памяти всегда записывается в квадратных скобках – [label_name], а просто label_name означает адрес (то есть порядковый номер) ячейки. Это позволяет обходится без ключевого слова offset.
NASM (Netwide Assembler)
NASM- свободный (LGPL и лицензия BSD) ассемблер для архитектуры Intel x86. Используется для написания
Компиляция программ NASM состоит из двух этапов. Первый – ассемблирование, второй – компоновка. На этапе ассемблирования создаётся объектный код. В нем содержится машинный код программы и данные, в соответствии с исходным кодом, но идентификаторы (переменный, символы) пока не привязаны к адресам памяти. На этапе компоновки из одного или нескольких объектных модулей создается исполняемый файл (программа).
Для компоновки объектных файлов в исполняемой в Windows можно использовать свободный бесплатно распространяемый компоновщик alink, а в Linux – компоновщик ld, который есть в любой версии этой ОС
NASM используется Intel-Синтаксис записи инструкций.
Turbo Assembler (TASM)
TASM – программный пакет компании Borlanb, предназначенный для разработки программ на языке ассемблера для архитекторы х86.
TASM может работать совместно с трансляторами языков высокого уровня Turbo C and Turbo Pascal. Как и прочие программные пакеты серии Турбо, Турбо ассемблер больше не поддерживается.
TASM до сих пор используется для обучения программированию на ассемблере под архитектуру х86.
Пакет TASM поставляется с компоновщиком Turbo Linker и порождает код, который можно отлаживать с помощью Turbo Debugger.
По умолчанию ТАСМ работает в режиме совместимости с другим распространенным ассемблером – MASMi, то есть TASM умеет транслировать исподники, разработанные под MASM. Кроме того TASM имеет режим IDEAL. Улучшающий синтаксис языка и расширяющий его функциональные возможности.