Поддержка основных компиляторов MASM, FASM, TASM из коробки
Отладка
Поддержка запуска как сторонних отладчиков WinDbg, OllyDbg, TD, x64dbg, так и наличие интуитивно понятной встроенной отладки для некоторых типов проектов (beta)
Подсветка и автодополнение синтаксиса
Все ключевые слова вашего ассемблер кода имеют красивую цветную подсветку, а известные среде конструкции включены в автодополнение и имеют всплывающую подсказку с описанием.
Собственный тип проектов
Каждый программный проект хранится как обособленная единица, имеет конфигурацию, исходные коды и ссылки. Можно безболезненно перенести проект на другой компьютер или поделиться им.
Инструменты рефакторинга
На данный момент в среду разработки включены два инструмента: «Переименовать» который позволяет оперативно сменить имя переменной или функции во всех местах и «Извлечение процедуры» который позволяет извлечь выделяемый код с учетом аргументов в отдельную процедуру или файл
ВИРУС на Ассемблере | Как программно отключить монитор?
Метрики
Наряду с простейшими метриками, базирующимися на определении количественных характеристик, связанных с размером программы и используемых для прогнозирования трудозатрат и сроков разработки промежуточных этапов в IDE реализован расчёт метрик сложности потоков управления программ
Сниппеты
В среде присутствует панель сниппетов, которая позволяет делать часто используемые конструкции в виде заметок с возможностью их перетаскивания на код любой из программ
Обработка ошибок
Все сообщения от компиляторов и ошибки фиксируются. Вы получаете их списком, с возможностью перехода к сомнительной строке по клику
Источник: gri-software.com
Среда программирования SimpleASM. Assembler IDE
Как известно для написание программ на языке Assembler достаточно иметь текстовый редактор (например, блокнот) и один из компиляторов: NASM, FASM, MASM, YASM и др. Но данный способ не совсем удобен из-за отсутствия таких функций, как подсветка синтаксиса, отладки приложения, запуск компоновщика и компилятора с помощью команд.
Для решение проблем связанные с удобством разработки программ на языке Assembler, используют среды программирования, которые помимо редактора включают несколько видов компиляторов и компоновщиков. SASM (SimpleASM) – среда программирования для языка Assembler. Данная среда включает следующие компиляторы: NASM, FASM, MASM, GAS. SASM использует компоновщик GSS.
Так же SASM позволяет компилировать приложения Assembler под. х86 и х64 системы. Интерфейс SASM Интерфейс программы состоит из главного меню, панелей работы с файлами, правки, панели отладки и построения.
ЯЗЫК АССЕМБЛЕРА С НУЛЯ | #1 НАЧАЛО
SASM осуществляет подсветку синтаксиса языка Assembler, включает два дополнительных окна для ввода и вывода информации, панели вывода Логов при построении и отладки приложения, где можно отследить время компиляции программы. Библиотека ввода-вывода информации Отдельное внимание хочу обратить на библиотеку «io.inc», которая позволяет реализовать ввод и вывод чисел в Assembler с помощью одной команды.
Написание функции вывода чисел в Assembler начинающим программистам не под силу, поэтому актуальность данной библиотеки очевидна. Работу функций вывода информации можно увидеть в лабораторных работах по Assembler. Библиотека позволяет осуществлять вывод чисел в различных системах счисления, строках, осуществлять вывод символов и др.
Построение программы Компоновка программы – первый шаг после разработки программы, далее непосредственно осуществляется ее запуск. Среда SASM позволяет выполнить компоновку и запуск программы как поочередно, так и сразу одним действием.
Для выполнения операций компоновки программы и запуска необходимо перейти к пункту «Построение» и выбрать «Построить и запустить F9». Запуск программы можно осуществить в отдельном окне – данная функция доступна в меню «Построения». Среда SimpleASM позволяет сохранить приложение Assembler в исполняющем формате. Для этого необходимо выполнить команду «Файл» – «Сохранить .exe».
Отладка программы Assembler SASM предоставляет пользователю возможность отладки приложения. В случае необходимости пользователь может просмотреть значение регистров, памяти, осуществить построчную отладку с учетом и без учета входа в подпрограммы Ассемблера.
Запуск отладки осуществляется через меню «Отладка» — клавиша F5, построчная отладка активизируется F10 (без захода в подпрограмму), F11 – с заходом в подпрограмму. Установить «Точку остановки» в среде SASM – F8. Все команды отладки доступны в панели инструментов «Отладка».
Пользователю доступна возможность отладки приложения с помощью команд GDB. GDB – отладчик, позволяет осуществить контроль и мониторинг программы в процессе ее исполнения. Настройка среды SASM Среда SASM обладает всеми необходимыми настройками для удобной разработки программ. Настройка параметров программы SASM осуществляется в меню «Настройки».
В первой вкладки настройки «Общие», можно установить параметры языка, шрифта, отображение регистров при отладке. Немалозначимый пункт настройки среды является поле «Начальный текст в поле кода», где можно задать код, который будет отображаться при создании нового документа.
На второй вкладки «Вид» расположены параметры настройки фона, цвета ключевых слов, цвет шрифта, строки отладки. Так же отдельно отведена панель для настройки подсветки синтаксиса – определяется цвет операций, чисел, памяти, метки и др. Третья вкладка «Построение» содержит настройки компилятора и компоновщика, выбор режима работы, настройка ассемблера посредством опций.
Справка Среда программирования SASM и справка реализованы на русском языке. Программа является бесплатным средством разработки приложений на Assmebler. Ознакомиться с отладчиком GDB можно в пункте «Немного об отладчике» в справочной системе программы. Программа SASM – средство для разработки и отладки приложений Assembler, которая может работать с несколькими компиляторами Assembler как в режиме х86 так и в х64. Имеет встроенный компоновщик GSS, поддерживает команды отладчика GDB. Скачать SASM с официального сайта Автор статьи — Караванский Артем
Просмотр 0 веток ответов
- Для ответа в этой теме необходимо авторизоваться.
Наша группа ВКонтакте.
-
Поиск пути в лабиринте (C++) опубликовано Васильев Владимир Сергеевич
3 дня, 15 часов назад
1 неделя назад
3 недели, 2 дня назад
1 месяц назад
1 месяц, 1 неделя назад
Источник: pro-prof.com
SASM – IDE для ассемблера
Данным постом хочу представить сообществу проект, который время от времени писался мной последний год: SASM (SimpleASM) — IDE для разработки программ на языке ассемблера x86 и x86-64.
SASM — простая кроссплатформенная (доступна на Windows и Linux) среда разработки для языков ассемблера NASM, MASM, GAS, FASM с подсветкой синтаксиса и отладчиком. Программа работает «из коробки» и хорошо подойдет для начинающих изучение языка ассемблера. Основана на Qt. Распространяется по свободной лицензии GNU GPL v3.0.
Исходники лежат в репозитории на GitHub.
Бинарники можно скачать на сайте программы.
Под катом Вы найдете немножко истории и более подробное описание возможностей.
Откуда все пошло
На 1 курсе в моём университете проходил учебный курс «Архитектура и язык ассемблера», в котором мы изучали ассемблер NASM и сдавали задачи на нем в ejudge контестах. Привыкший к использованию IDE при программировании до этого, я был не очень рад компилить все в командной строке. Удобных на мой взгляд IDE для NASM не было. Универсальные решения типа Geany мне не очень нравились (хотя на вкус и цвет товарища нет — кто-то пользовался всем этим и был доволен). Да и хотелось уже сделать что-нибудь большое и заодно выучить C++.
Итак, было решено написать свою IDE для NASM, в первую очередь для себя и может быть однокурсников.
Опыта написания GUI у меня до этого не было. После недолгих раздумий было решено использовать Qt — хороший бесплатный фреймворк, заодно и кроссплатформенный. Сначала был написан просто текстовый редактор с простой подсветкой, логом построения и окнами ввода/вывода. Гордо называемая «IDE» программа умела собирать текст, который был в текстовом редакторе и запускать построенную программу.
Затем я, немного подучив регулярные выражения, сделал красивую подсветку. Прикрутил отладчик (GDB). Добавил вкладки и всякие простые фичи в текстовом редакторе типа поиска и комментирования куска кода. Постепенно допиливал программу до более-менее нормального вида, исправлял ошибки.
Весной этого года SASM был включен в вышеописанный учебный курс, и первокурсники уже пользовались им. Недавно добавил в программу поддержку и других ассемблеров, кроме NASM — MASM, FASM и GAS.
Возможности
Во-первых, это просто редактор кода с подсветкой, вкладками и возможностями построения и выполнения программы. Возможен запуск в отдельном окне.
В логе указывается информация о времени работы программы. Есть 2 формы для ввода и вывода. Как я уже говорил, программа изначально предназначалась для сдачи контестов. Две последние возможности очень удобны для этого. Если все-таки понадобиться сохранить exe’шник, это можно сделать в меню «Файл».
Отладчик
Один из самых сложных компонентов в программе — это отладчик. Возможностей у него не так много, но некий минимальный основной набор есть: он показывает текущую строку, делает шаг с заходом, без захода, продолжает выполнение/приостанавливает программу, можно ставить брейкпоинты, смотреть регистры и память. Также для тех кому базовых возможностей все же не хватает снизу окна реализована командная строка для ввода произвольных команд для GDB.
Да, отладчик реализован на базе GDB. Сделать его было не очень просто из-за ограничений ассемблера. В частности, NASM не умеет генерировать нормальную отладочную информацию и приходится определять текущее местонахождение в программе, ставя в соответствие листинг, генерируемый ассемблером и текущий адрес в счетчике команд EIP.
Библиотека макросов для NASM
В SASM включена библиотека макросов для ввода/вывода «io.inc», используемая в курсе «Архитектура и язык ассемблера» и немного переписанная для отладки и поддержки 64-битного режима. Она очень удобна на начальных этапах обучения — позволяет выводить данные, не задумываясь о соглашениях и правилах вызова функций.
Например, чтобы вывести число содержащееся в регистре EAX, достаточно написать
PRINT_DEC 4, eax ; 4 — количество байт
section .data
format db «%d», 0
section .text
push eax
push format
call printf
add esp, 8
Команды, содержащиеся в «io.inc» можно найти в справке.
Опции
В настройках программы можно полностью настроить текстовый редактор — задать цветовую схему, выбрать шрифт, задать начальный текст.
Там же задается язык (доступны русский и английский).
Также в параметрах доступен выбор ассемблера (NASM, MASM, GAS или FASM) и разрядности (x86 или x64). Эти опции влияют на выбор программ — ассемблера и компоновщика, и опций для них. Также под новый ассемблер подстраивается подсветка и начальный текст. Пути и опции сборки можно задать и вручную.
Дополнительно
Программа содержит справку и примеры программ для каждого ассемблера — программы Hello World в папке Projects и начальные шаблоны, чтобы можно было сразу приступить к написанию кода.
На Windows все нужные для сборки программ компоненты уже включены в SASM. Программа работает «из коробки» — можно начинать программировать сразу же после запуска.
На Linux следует установить gcc, gdb и необходимый ассемблер.
Заключение
Больше информации о программе и исходники можно посмотреть по ссылкам выше. Качество кода в начале может быть не очень — только осваивал C++ и ООП, сразу на всякий случай прошу прощения.
Проект Open Source — так что, если вдруг кто-то хочет присоединиться и что-то поменять — Welcome!
Также буду рад отзывам, предложениям и сообщениям об ошибках. И конечно разумной критике, куда без нее.
- ассемблер (x86)
- ассемблер для начинающих
- ide
- qt software
Источник: habr.com