WinAsm Studio
RadASM
Среды разработки
GoAsm
GoAsm — ассемблер для процессоров семейства x86, созданный Джереми Гордоном (англ. Jeremy Gordon) для написания программ для операционных систем семейства Windows, способен создавать 32- и 64-битных версий, а также программы с поддержкой Unicode. GoAsm является проприетарным ПО и распространяется в бинарном формате.
GoAsm создавался с целью создать компилятор с простым и ясным синтаксисом, производящий как можно более компактный код, скромными потребностями для обработки скриптов и возможностью добавления расширений. Особенности:
· GoAsm не создаёт 16-разрядный код и способен работать только в «плоском» режиме (без сегментов), благодаря этому синтаксис очень прост.
· В качестве формата выходных данных используется COFF (Portable Executable format), и для создания исполняемых файлов необходимо использовать дополнительный компоновщик (например — GoLink или ALINK) и компилятор ресурсов (GoRC).
· GoAsm способен файлы в формате Unicode (UTF-16 или UTF-8).
Несмотря на то что используется Intel-синтаксис, синтаксис GoAsm несовместим ни с одним из существующих компиляторов. GoAsm использует препроцессор сходный по синтаксису с препроцессором языка программирования C. В GoAsm необходимо использовать квадратные скобки для чтения и записи памяти. Для того чтобы получить смещение необходимо записать:
MOV EBX,ADDR wParam
MOV EBX,OFFSET wParam
А для того чтобы получить доступ к памяти:
MOV EBX,[wParam]
RadASM — бесплатная среда разработки программного обеспечения для ОС Windows и не только, изначально предназначенная для написания программ на языке ассемблера.
Имеет гибкую систему файлов настроек, благодаря чему может быть использована как среда разработки программного обеспечения на высокоуровневых языках, а также документов, основанных на языках разметки.
Создана программистом Ketil Olsen (KetilO).
Возможности:
· Есть русифицированный интерфейс.
· Подсветка синтаксиса. Этовыделение синтаксических конструкций текста с использованием различных цветов, шрифтов и начертаний. Обычно применяется в текстовых редакторах для облегчения чтения исходного текста, улучшения визуального восприятия. Часто применяется при публикации исходных кодов в Интернете.
· Хорошая интеграция справочной системы
· Проекты (собственный .rap формат)
· Редактор ресурсов
· Поддержка команд Make. Это утилита, автоматизирующая процесс преобразования файлов из одной формы в другую. Чаще всего это компиляция исходного кода в объектные файлы и последующая компоновка в исполняемые файлы или библиотеки.
· Окно вывода.
· Поддержка отладки программ. Имеется отладчик (дебаггер, англ. debugger), это компьютерная программа, предназначенная для поиска ошибок в других программах, ядрах операционных систем, SQL-запросах и других видах кода. Отладчик позволяет выполнять пошаговую трассировку, отслеживать, устанавливать или изменять значения переменных в процессе выполнения кода, устанавливать и удалять контрольные точки или условия остановки и т.д.
· Полная настройка ИСР.
· Есть окно вывода.
· Макросы, (от англ. macros, множественное число от macro) — программный объект, который во время вычисления заменяется на новый объект, создаваемый определением макроса на основе его аргументов, затем выражается обычным образом.
· Шаблоны, это спецификация формы представления и правил редактирования элемента данных с помощью строки символов, в которой каждый символ указывает на допустимый вид символа или на подлежащее выполнению редактирование для соответствующей позиции значения элемента.
· Поддержка сниппетов. Сниппет (англ. snippet — фрагмент, отрывок) — программный термин, обозначающий небольшой фрагмент исходного кода или текста, пригодного для повторного использования. Сниппеты не являются заменой процедур, функций или других подобных понятий структурного программирования. Они обычно используются для более лёгкой читаемости кода функций, которые без их использования выглядят слишком перегруженными деталями, или для устранения повторения одного и того же общего участка кода.
· Поддержка текстовых ссылок.
· Поддержка плагинов. Плагин (от англ. plug-in) — независимо компилируемый программный модуль, динамически подключаемый к основной программе, предназначенный для расширения и/или использования её возможностей. Также может переводиться как «модуль». Плагины обычно выполняются в виде разделяемых библиотек.
· Есть примеры использования.
· Есть возможность настроить под другие языки программирования.
Поддерживаемые ассемблеры:
· MASM
· FASM
· NASM
· TASM
· GoAsm
Скриншот ИСР:
WinAsm Studio — бесплатная ИСР для Windows и DOS, изначально предназначенная для написания программ на языке ассемблера.
Создана программистом Антонисом Киприану.
Возможности
· Подсветка синтаксиса.
· Автодополнение кода.
· Менеджер проектов.
· Полная настройка ИСР.
· Есть окно вывода.
· Поддержка плагинов.
· Редактор ресурсов.
· Есть примеры использования.
[Поддерживаемые ассемблеры
По умолчанию, среда разработки ориентирована на работу с MASM, но также возможно и подключение других ассемблеров, к примеру FASM.
Надстройка для подключения ассемблера FASM позволяет выполнять последовательность команд (до 5), что позволяет организовать поддержку практически любого ассемблера.
Также данная надстройка позволяет выполнять пакетные файлы, самокомпилирующиеся пакетные файлы и вызывать утилиты MAKE, что снимает ограничения на использование других компиляторов. Консольные сообщения при этом могут перенаправляться в окно вывода для удобства последующего анализа ошибок.
Скриншот ИСР: