Достоинства языка ассемблера
Intel-синтаксис
Язык ассемблер
Переносимые ассемблеры
Ассемблеры для GNU и GNU/Linux
Ассмеблер для Windows
Ассемблеры DOS
Наиболее известны ассемблеры ОС DOS являлись:
Borland Turbo Assembler (TASM)
Microsoft Macro Assembler (MASM)
Watcom Assembler (WASM)
Так же в своё время был популярен простой ассемблер А86.
При появление ОС Windows появились расширения TASM, именуемое TASM 5+ позволившее создавать программы для выполнения в среде Windows
Microsoft поддерживает свой продукт под названием Microsoft Macro Assembler (MASM). Кроме того, Стивен Хатчессон создал пакет для программирования на MASM под названием «MASM 32».
В состав ОС GNU входит пакет binutils, включающий в себя ассемблер gas (GNU Assembler), использующий AT&T – синтаксис в отличие от большинства других популярных ассемблеров которые используют Intel-синтаксис (поддерживается в версии 2.10).
NASM (Netwide Assembler) - открытый проект ассемблера, версии которого под ассемблера версии которого доступны под различные ОС, и который позволяет получать объектные файлы для этих систем.
YASM – это переписанная с нуля версия NASM под лицензией BSD (с некоторыми исключениями).
FASM (flat assembler) – молодой ассемблер под модифицированной для запрета перелицензирования BSD – лицензий. Есть версии для Linux, DOS и Windows ; используют Intel – синтаксис .
Язык программирования низкого уровня мнемонические команды которого (за редким исключением), соответствуют инструкциям процессора ВС. Трансляция программы в исполняемый машинный код производится программой Ассемблер – транслятором, которая и дала языку ассемблера его название.
Команды языка ассемблера один к одном соответствует командам процессора, фактически, они представляют собой более удобную для человека символьную форму записи (мнемокод) команд и их аргументов.
При этом одной команде языка ассемблера может соответствовать несколько вариантов команд процессора, в зависимости от операндов.
Каждая модель процессоров (или семейств) процессоров имеет набор команд и соответствующий ему язык ассемблера.
Наиболее популярный синтаксисы:
AT&T-синтаксис
· При достаточной квалификации программиста, языка ассемблера позволяет писать самый быстрый компактный код.
· Если код программы достаточно большой, данные не помещаются целиком в регистрах процессора, то искусный программист, как правило, способен значительно оптимизировать программу по сравнению с высокоурвненвыми трансляторами по одному или нескольким параметрам: скорость работы, объём команды.
· Обеспечение максимального использования специфических возможностей конкретной платформы, что также позволяет создавать более эффективные программы с меньшими затратами ресурсов.
· При программировании на языке ассемблера возможен непосредственный доступ к аппаратуре, в том числе портам
ввода-вывода, регистрам процессора и др. Язык ассемблера применяется для создания драйверов и ядра ОС.
· Язык ассемблера используется для создания «прошивок» BIOS.
· С помощью языка ассемблера создаются компиляторы и интерпретаторы языков высокого уровня, а также реализуются совместимость платформ.
· Существует возможность исследования других программ с отсутствующим исходным кодом с помощью дизассемблера.