Компиляторы для ассемблера windows

Инструменты для низкоуровневого программирования

• Подборка литературы по низкоуровневому программированию Обсуждение полезных ссылок, книг, инструментов.

Компиляторы и компоновщики

  • fasm (flat assembler) – современный и удобный компилятор под DOS, Wndows, Linux с очень развитой системой макросов и полным набором инструкций Intel/AMD
  • NASM (Netwide Assembler) – ещё один современный кроссплатформенный компилятор с хорошей макросистемой и полным набором инструкций Intel/AMD, популярен в зарубежных проектах и при программировании под Linux/BSD
    • NASMX – пакет макросов, include’ов, примеров и утилит для NASM под Windows, Linux, BSD, Xbox; включает макрос invoke, символы для работы с OpenGL и пр.
    • Yasm (Yet another assembler. ) – попытка переписать NASM, однако последняя версия датируется 2014 годом и, на мой взгляд, не имеет преимуществ перед NASM
  • MASM32 (Macro Assembler) – наверное, самый популярный пакет самого популярного ассемблера (содержит в себе также PoAsm), рекомендую сразу скачать ml.exe 8.0 и заменить им входящий в пакет ml.exe 6.14
    • MASM64 includes and libs – заголовки и библиотеки для 64-битной версии MASM (информация); файлы ml64.exe, link.exe и прочие потроха можно взять из Visual Studio (путь к папке с нужными файлами примерно такой: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.12.25827\bin\Hostx 64\x64\ )
  • UASM (он же HJWasm) – современный MASM-совместимый мультиплатформенный ассемблер с полным набором инструкций Intel/AMD
  • TASM 5.x (Turbo Assembler) – старый, но всё ещё популярный ассемблер, в основном используется для создания программ под DOS
  • GoAsm – ассемблер для написания программ под Windows (Вики)
  • Asmc Macro Assembler (с исходниками) – переделанный JWasm с довольно приличной библиотекой различных функций
  • fasmg (flat assembler g) – универсальный ассемблер под любую платформу (имеются include-модули для создания кода под AVR, i8051, x86/x64, генерации байт-кода JVM, аналогично можно создать свои модули; информация)
  • FASMARM – ассемблер под архитектуру ARM
  • ALINK, GoLink – компоновщики для программ под DOS и Windows
  • objconv – преобразователь форматов объектных файлов (COFF/OMF/ELF/Mach-O)
  • Crinkler – популярный среди демомейкеров компоновщик-упаковщик

Работа с ресурсами

  • ResEd – бесплатный редактор ресурсов
  • Resource Builder – редактор + компилятор ресурсов (shareware)
  • GoRC – компилятор ресурсов (rc → res) [в вышеупомянутом NASMX есть и GoLink, и objconv, и GoRC]

Наборы разработчика

  • Windows 10 Software Development Kit (SDK) – заголовочные файлы, библиотеки, инструменты (в т.ч. отладчик WinDbg: док1, док2, док3) для разработчиков Windows
  • Windows Driver Kit (WDK) – инструменты для разработчика драйверов (документация)

Среды разработки (IDE) для ассемблера

  • Fresh IDE – визуальная среда разработки для fasm
  • SASM (SimpleASM) – простая кроссплатформенная среда разработки для языков ассемблера NASM, MASM, GAS, fasm с подсветкой синтаксиса и отладчиком (для NASM имеется набор макросов для упрощения работы с консолью)
  • ASM Visual – IDE для MASM, fasm, TASM со встроенным отладчиком и поддержкой WinDbg, OllyDbg, TD, x64dbg (имеется возможность установить весь пакет инструментов при установки IDE)
  • GUI Turbo Assembler – среда разработки со встроенным компилятором TASM, отладчиком и эмулятором DOSBox
  • Easy Code – IDE с поддержкой множества различных ассемблеров (Asmc, fasm, GoAsm, JWasm, MASM, PoAsm, UASM), встроенным отладчиком, редактором ресурсов и диалоговых окон
  • Rad ASM – последнее обновление в 2013 году (Вики)
  • JaeEditor (fasm) – последнее обновление в 2015 году
  • GSS Visual Assembler – TASM, MASM32 и др. Последнее обновление в 2014 году!
  • FASM Editor – последнее обновление в 2011 году
Читайте также:  Windows cmd logged users

Отладчики, дизассемблеры

  • OllyDbg – популярный 32-битный отладчик (готовится 64-битная версия, но пока ещё не вышла)
  • x64dbg – хороший отладчик для 32- и 64-битного кода
  • IDA Pro – мощный интерактивный дизассемблер
  • Turbo Debugger – популярный отладчик под DOS
  • AFD Pro – ещё один отладчик под DOS

Эмуляторы, виртуализаторы

  • DOSBox – очень популярный эмулятор компьютера для запуска программ под DOS (имеет встроенный замедлитель скорости)
  • emu8086 – простенький эмулятор процессора 8086 и некоторых функций MS-DOS со встроенным ассемблером и средой, включая отладчик
  • Bochs – эмулятор компьютера IBM PC
  • QEMU – эмулятор аппаратного обеспечения различных платформ (QEMU Manager)
  • Intel Software Development Emulator (SDE) – эмулятор расширений (инструкций) процессоров Intel
  • VMware Workstation Player (бесплатный для персонального использования), VMware Workstation Pro (shareware) – мощные виртуализаторы, позволяющие создавать и запускать виртуальные машины
  • Oracle VirtualBox – альтернативный бесплатный виртуализатор
  • Sandboxie – песочница для запуска программ в изолированной среде (shareware)

Редакторы PE и двоичных файлов

  • PE Explorer – редактор секций, ресурсов PE, дизассемблер (shareware)
  • Resourse Hacker – редактор ресурсов исполняемых айлов под Windows
  • Hiew – редактор двоичных файлов со встроенным дизассемблером, просмотром и редактированием заголовков исполняемых файлов (shareware)
  • HexIt – бесплатная альтернатива Hiew, но не такая красивая и довольно старая (2001 года)
  • WinHex – Hex-редактор, позволяющий редактировать не только файлы, но и диски (по секторам) и память, не имеет дизассемблера (shareware)

Упаковщики и протекторы

  • UPX (Ultimate Packer for eXecutables) – популярный бесплатный упаковщик EXE-файлов и DLL-библиотек
  • PECompact – ещё один упаковщик (shareware)
  • ASPack, ASProtect – упаковщик и протектор EXE-файлов
  • Themida – мощное средство защиты программ (shareware, статья на Хабре)
  • Enigma Virtual Box – бесплатный виртуализатор файлов, объединяющий исполняемый файл вместе с сопутствующими (dll, ocx, графическими и звуковыми файлами) в один (на этом сайте также имеется shareware-протектор Enigma Protector)

Профилировщики, анализаторы кода

  • Compiler Explorer — инструмент, позволяющий быстро перевести код на языках высокого уровня (C++, Pascal и многие другие) в инструкции ассемблера (статья на Хабре)
  • Quick C++ Benchmark — онлайн-бенчмарк кода на C++

    Visual Assembler для Windows

    Оценка:
    • 1
    • 2
    • 3
    • 4
    • 5

    4.43 /5 голосов — 112

    Лицензия:Бесплатная
    Версия:| Сообщить о новой версии
    Обновлено:30.08.2002
    ОС:Windows XP, 98, NT 4.x, ME, 2000
    Интерфейс:Английский
    Разработчик:
    Категории:Компиляторы — Assembler
    Загрузок (сегодня/всего):3 / 65 780 | Статистика
    Размер:1,78 Мб
    СКАЧАТЬ

    Borland C++ Compiler — Компилятор языка программирования Borland C++ 5.5 Комментарии излишни.

    Visual Assembler — эта программа написана для тех, кто программирует на ассемблере. Borland Tasm -.

    Bloodshed Dev-C++ — Редактор и компилятор для написания программ на C++.

    Бесплатная среда разработки родных приложений под Windows с открытым исходным кодом, которая.

    DecAPK — простой, но достаточно удобный декомпилятор приложений для ОС Android.

    Golden Studio — полноценная среда программирования, которая позволяет создавать exe программы на языке PHP с поддержкой GUI или без программирования.

    Отзывы о программе Visual Assembler

    WhoamI про Visual Assembler [11-01-2017]

    где эти файлы Tlink и Tasm . обьясните пожалуйста в асю подробно в комменты
    5 | 10 | Ответить

    Иван Федорович Крузенштер про Visual Assembler [08-02-2016]

    Эта программа виснет и даже после перезагрузки, и после переустановки винды загружается зависшая
    2 | 3 | Ответить

    Anonim про Visual Assembler [20-09-2014]

    path tasm это путь к tasm.exe
    path tlink это путь к tlink.exe
    4 | 2 | Ответить

    бильбо бегенс про Visual Assembler [12-07-2013]

    подскажите пожалуйста что вводить в окошки path tasm и path tlink?
    2 | 8 | Ответить

    Георг про Visual Assembler [05-06-2013]

    Компиляторы для ассемблера windows

    Поддержка основных компиляторов MASM, FASM, TASM из коробки

    Отладка

    Поддержка запуска как сторонних отладчиков WinDbg, OllyDbg, TD, x64dbg, так и наличие интуитивно понятной встроенной отладки для некоторых типов проектов (beta)

    Подсветка и автодополнение синтаксиса

    Все ключевые слова вашего ассемблер кода имеют красивую цветную подсветку, а известные среде конструкции включены в автодополнение и имеют всплывающую подсказку с описанием.

    Собственный тип проектов

    Каждый программный проект хранится как обособленная единица, имеет конфигурацию, исходные коды и ссылки. Можно безболезненно перенести проект на другой компьютер или поделиться им.

    Инструменты рефакторинга

    На данный момент в среду разработки включены два инструмента: «Переименовать» который позволяет оперативно сменить имя переменной или функции во всех местах и «Извлечение процедуры» который позволяет извлечь выделяемый код с учетом аргументов в отдельную процедуру или файл

    Метрики

    Наряду с простейшими метриками, базирующимися на определении количественных характеристик, связанных с размером программы и используемых для прогнозирования трудозатрат и сроков разработки промежуточных этапов в IDE реализован расчёт метрик сложности потоков управления программ

    Сниппеты

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

    Обработка ошибок

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

    Компиляторы для ассемблера windows

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

    NASM был создан Саймоном Тэтхемом совместно с Юлианом Холлом и в настоящее время развивается небольшой командой разработчиков на SourceForge.net. Первоначально он был выпущен согласно его собственной лицензии, но позже эта лицензия была заменена на GNU Lesser General Public License после множества проблем, вызванных выбором лицензии. Начиная с версии 2.07 лицензия заменена на «упрощённую BSD» (BSD из 2 пунктов).

    NASM может работать на платформах, отличных от x86, таких как SPARC (Scalable Processor ARChitecture) и PowerPC (или сокращённо PPC), однако код он генерирует только для x86 и x86-64. Находясь в одной операционной системе, можно беспрепятственно откомпилировать исполняемый файл для другой.

    NASM успешно конкурирует со стандартным в Linux- и многих других UNIX-системах ассемблером GNU Assembler. Считается, что качество документации у NASM выше, чем у GNU Assembler. Кроме того, ассемблер gas по умолчанию использует AT&T-синтаксис, ориентированный на процессоры не от Intel, в то время как NASM использует вариант традиционного для x86-ассемблеров Intel-синтаксиса; Intel-синтаксис используется всеми ассемблерами для DOS и Microsoft Windows, например, MASM (Microsoft Macro Assembler), TASM (Turbo Assembler), flat assembler (fasm).

    Компиляция программ в NASM состоит из двух этапов. Первый – ассемблирование, второй – компоновка. На этапе ассемблирования создаётся объектный код. В нём содержится машинный код программы и данные, в соответствии с исходным кодом, но идентификаторы (переменные, символы) пока не привязаны к адресам памяти. На этапе компоновки из одного или нескольких объектных модулей создаётся исполняемый файл (программа). Операция компоновки связывает идентификаторы, определённые в основной программе, с идентификаторами, определёнными в остальных модулях, после чего всем идентификаторам даются окончательные адреса памяти или обеспечивается их динамическое выделение.

    Для компоновки объектных файлов в исполняемые в Microsoft Windows можно использовать свободный бесплатно распространяемый компоновщик alink (для 64-х битных программ компоновщик GoLink), а в Linux – компоновщик ld, который есть в любой версии этой операционной системы.

    Для ассемблирования файла нужно ввести следующую команду:

    nasm -f format filename -o output

    Поддерживаемые форматы NASM

    NASM поддерживает множество форматов выходных файлов, среди них:

    • bin – файл произвольного формата, определяемого только исходным кодом.

    Пригоден как для файлов данных, так и для модулей с исполняемыми кодами – например,

    • системных загрузчиков, образов ПЗУ, модулей операционных систем, драйверов .SYS в MS-DOS или исполняемых файлов .COM.
    • obj – объектный модуль в формате OMF, совместимый с MASM и TASM.
    • win32 и win64 – объектный модуль для 32- и 64-битного кода, совместимый с Win32- и Win64-компиляторами Microsoft.
    • aout – объектный модуль в варианте формата a.out, использовавшемся в ранних системах Linux.
    • aoutb – версия формата a.out для BSD-совместимых операционных систем.
    • coff – объектный модуль в формате COFF, совместимом с компоновщиком из DJGPP (акроним от DJ’s GNU Programming Platform).
    • elf32 и elf64 – объектный модуль в форматах ELF32 и ELF64, используемых в Linux и UNIX System V, включая Solaris x86, UnixWare и SCO Unix.

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

  • Читайте также:  Keep talking and nobody explodes mac os
Оцените статью