Вкратце только в трех словах, Yasm является модульной проект ассемблера, но это на самом деле полностью переписанный проекта Netwide Assembler, разработан с нуля, чтобы поддержать несколько наборов инструкций (x86 и amd64 на данный момент), принять и газ, и NASM синтаксиса, а также для вывода двоичного, ELF64, ELF32, macho-32/64-бит, COFF, RDOFF2 и Windows 32/64-битный коммуникационный объект formats.User видно featuresUser видимые особенности включают полнофункциональный разбор и лексический из NASM и GAS синтаксиса, начальная поддержка синтаксиса TASM, поддержка 64-битных целочисленных констант, поддержка интернационализации, используя Gettext, простой 2-пасс оптимизатор и поддержку для 64-разрядных (amd64) набор инструкций, которые может быть включена с помощью & NBSP; & ldquo; -m amd64 и Rdquo; Опция или выбрав явный 64-разрядной выходной формат объекта.
Это позволяет для 64-битных и выше целочисленных констант, в том числе математические операции, поддерживают широкий диапазон форматов, в том числе объектов COFF, Binary, RDOFF2, ELF32, ELF64, Win32, Win64, а также 64-битной и 32-битной Маха О объектных файлов выходы. Кроме того, он поддерживает CodeView, DWARF2 и наносит удар отладки форматы, работает в операционных системах UNIX и Linux, а также особенностей Microsoft Windows и DOS.Internal featuresInternal включать газ и NASM синтаксиса лексических, написанные с помощью инструмента re2c, recursive- спуск функциональность парсер и газа и NASM синтаксиса, архитектура конкретных анализаторов команд, крошечной коллекции портативных и полезных функций, таких как strdup, слиянием и strcasecmp, а также стандартный набор испытаний ассемблера ввода files.Under капотом и availabilityThe проект доступен для скачивания только в виде архива источника, который заставляет пользователя вручную настраивать и компилировать программу до установки. Большая часть архива источника является то, что он может быть установлен на любой операционной системе GNU / Linux, в отличие от встроенных бинарные пакеты, которые предназначены для определенного типа распределения.
Что новый В этом выпуске:
- использовать зрелый x86 NASM-синтаксиса и AMD64 ассемблеру, что может предназначаться Win32, Win64, MacOS X и Unix производные;
- использовать ГАЗ-синтаксис ассемблера кроме газа;
- попробовать новый TASM-подобный синтаксис или интерфейс;
- есть сборка отладки на уровне исходного кода с использованием либо DWARF2 или CodeView? 8.0 (VS 2005);
- есть бесплатное программное обеспечение ассемблер, поддерживающий Win32 / Win64 структурированную обработку исключений (SEH) и ELF32 / ELF64 локальной памяти потока (TLS);
- нацелены на новые AMD SSE5 или Intel AVX набор инструкций;
- отслеживать прогресс Yasm с точки зрения стабильности и набор функций;
- способствовать развитию Yasm из нового выпуска.
Что нового в версии 0.7.2:
- Этот выпуск добавляет 64-бит macho-ПИК поддержка, --prefix и --suffix варианты именования глобальные и поддержка для недавно установленных инструкций AVX / AES не в оригинальной спецификации.
- Это также создает перемещение GOTPCREL для & Quot; отн WRT ..gotpc & Quot; и оптимизирует нестрогое толчок размера байт во всех возможных случаях, наряду с несколькими другими исправлений.
Комментарии не найдены