Компиляторы языка ассемблера — КиберПедия 

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Компиляторы языка ассемблера

2022-11-24 25
Компиляторы языка ассемблера 0.00 из 5.00 0 оценок
Заказать работу

Согласно [3, 8, 15, 16], можно выделить следующие компиляторы языка ассемблера: TASM, MASM, FASM, NASM, GAS.

1. TASM (Turbo Assembler).

Самый популярный транслятор ассемблера времен операционной системы MS-DOS, созданный фирмой «Borland», и предназначенный для программирования на языке ассемблера под архитектуру x86. Кроме того, TASM может работать совместно с трансляторами с языков высокого уровня фирмы «Borland», такими как Turbo C и Turbo Pascal.

Пакет TASM поставляется вместе с компоновщиком Turbo Linker и порождает код, отладку которого можно выполнять с помощью отладчика Turbo Debugger. Поддерживает синтаксис Intel.

По умолчанию TASM работает в режиме совместимости с другим распространённым ассемблером – Macro Assembler (MASM).

Удобство программирования, скромные системные требования и высокая скорость трансляции обеспечивали компилятору TASM лидерство на протяжении всего существования операционной системы MS-DOS. В настоящее время «Borland» прекратила распространение и поддержку транслятора TASM. Однако для разработки прикладных приложений под операционные системы Windows 16/32 и MS-DOS он подходит. Кроме того, данный пакет до их пор используется для обучения программированию на языке ассемблера под архитектуру x86.

2. MASM (Macro Assembler – Ассемблер с поддержкой макросов).

MASM – транслятор компании «Microsoft», которой использовался для написания программ в операционной системе MS-DOS, а позднее в Windows 9x/NT.  Поддерживает синтаксис Intel.

MASM – это ассемблер с поддержкой макросов, покрывающих своими возможностями широкий круг задач: повторения однотипных операций с параметризацией (шаблоны), циклические макросы, условное ассемблирование и т.д.

Сначала MASM распространялся в виде самостоятельного пакета, но позже он был включен в состав DDK (Driver Development Kit – набор для создания драйверов). В 2000 году MASM 6.15 был выпущен как часть пакета разработки Visual C++ и все версии Visual C++ после 6.0 включали в себя версию MASM, равную версии Visual C++. Позже в Visual C++ 2005 появилась 64-разрядная версия MASM.

Фирма «Microsoft» продолжает поддерживать исходный код, используемый и в других продуктах «Microsoft». С тех пор как «Microsoft» прекратила продавать пакет MASM отдельно, было выпущено несколько обновлений к производственной линии MASM 6.x (последнее обновление – версия 6.15, которая была включена в Visual C++ 6.0), а после этого – MASM 7.0 в составе Visual C++.NET 2002, MASM 7.1 в составе Visual C++.NET 2003, MASM 8.0 в составе Visual C++ 2005 и MASM 9.0 в составе Visual C++ 2008, поддерживающие платформу x64. С версии 11 MASM снова выходит как независимый продукт, имеется 2 среды разработки обычный (qedit) и для юникода (uniedit).

3. NASM (Netwide Assembler – Расширенный ассемблер).

Транслятор NASM – свободно распространяемый пакет для архитектуры x86. Используется для написания 16-, 32- и 64-разрядных программ для операционных систем Windows и Linux. Использует Intel – синтаксис.

NASM был создан Саймоном Тэтхемом совместно с Юлианом Холлом и в настоящее время развивается небольшой командой разработчиков на SourceForge.net.

NASM может работать на платформах, отличных от x86, таких как SPARC и PowerPC, однако код он генерирует только для x86 и x86-64.

Также в сети Интернет можно найти онлайн-варианты компилятора NASM, что удобно, поскольку не требует установки пакета локально. Варианты онлайн-версии компилятора NASM можно найти, например, по ссылкам: https://www.jdoodle.com/compile-assembler-nasm-online/ (Интегрированная среда разработки NASM), https://www.tutorialspoint.com/compile_asm_online.php (Компиляция и исполнение ассемблерного кода, версия NASM v1.13.01).

 

 

4. FASM (Flat Assembler).

FASM – это быстрый, свободно распространяемый компилятор языка ассемблера для процессоров с архитектурой х86 для различных операционных систем, который делает множественные проходы для оптимизации размера сгенерированного машинного кода. Разработан Томашем Грыштаром. Впервые был выпущен в 1999 году. В настоящее время используется версия 1.73.09. Поддерживает синтаксис Intel.

FASM позволяет хранить код и описания ресурсов в одном ASM-файле, поддерживает макросы, генерирует чистый машинный код, не требует лишней рутинной работы, например, прописывания каждой задействованной функции в секцию импорта.

5. GAS (GNU Assembler).

GAS – это компилятор ассемблера проекта GNU (проекта по разработке свободного программного обеспечения) для различных платформ. Использует синтаксис AT&T, но с версии 2.10 появилась поддержка синтаксиса Intel.

Распространяется на условиях свободной лицензии GPL 3 (General Public License – Лицензия на свободно распространяемое обеспечение проекта GNU). Входит в пакет GNU Binutils (набор инструментального программного обеспечения для обращения с объектным кодом в объектных файлах разного формата).

Как видно, существуют различные компиляторы языка ассемблера. Знакомство с ассемблером, что актуально для студентов первокурсников, в подавляющем большинстве не сталкивающихся ранее с этим языком, целесообразно начинать с простого и понятного компилятора. К ним, без сомнения, следует отнести компилятор TASM. Набор его функциональных возможностей, простой и понятный синтаксис, отсутствие требований в специфических знаниях программно-аппаратной платформы, позволяет по-прежнему использовать данный компилятор в учебных целях. Использование виртуальных машин MS-DOS [1 – 2] дает возможность без проблем использовать пакет TASM на современных вычислительных машинах с разными операционными системами.

Далее рассмотрим процесс подготовки к исполнению и отладки ассемблерных программ с использованием компилятора TASM.


Поделиться с друзьями:

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.008 с.