FASM

редактировать
Ассемблер с открытым исходным кодом для процессоров x86
FASM
FASMD - версия DOS с IDE FASMD - версия для DOS с IDE
Разработчик (и) Tomasz Grysztar
Первый выпускмарт 2000 г.; 20 лет назад (2000-03)
Стабильный выпуск 1.73.24 / 29 апреля 2020 г.; 5 месяцев назад (2020-04-29)
Операционная система Unix-подобная, Linux, Windows и IDE, DOS и IDE, OpenBSD и т. д., MenuetOS, KolibriOS, OctaOS, DexOS и IDE, SkyOS, Solar_OS
Платформа x86, x86-64
Тип Ассемблер
Лицензия Упрощенный BSD со слабым авторским левом пункт
Веб-сайтflatassembler.net

FASM (плоский ассемблер) - это ассемблер для процессоров x86. Он поддерживает Intel-style язык ассемблера на компьютерных архитектурах IA-32 и x86-64. Он заявляет о высокой скорости, оптимизации размера, переносимости операционной системы (ОС) и возможности макросов. Это низкоуровневый ассемблер, который намеренно использует очень мало параметров командной строки. Это бесплатное программное обеспечение с открытым исходным кодом..

Все версии FASM могут напрямую выводить любое из следующего: необработанный двоичный (также может использоваться как исполняемый файл DOS COM или драйвер SYS), объекты: Executable and Linkable Format (ELF) или Common Object File Format (COFF) (классический или специфичный для MS), или исполняемые файлы в любом MZ Формат, ELF или Portable Executable (PE) (включая драйверы WDM, позволяет настраивать заглушку MZ DOS). Также существует неофициальный порт, ориентированный на архитектуру ARM (FASMARM ).

Содержание

  • 1 История
  • 2 Дизайн
  • 3 IDE
  • 4 Использование
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки

История

Проект был начат в 1999 году Томашем Грыштаром, также известным как Привалов, в то время студентом математического факультета Польша. Он был выпущен публично в марте 2000 года. FASM полностью написан на языке ассемблера и поставляется с полным исходным кодом. Это самообслуживание, и он может собираться самостоятельно с версии 0.90 (4 мая 1999 г.).

FASM изначально работал только в 16-битном плоском реальном режиме. Была добавлена ​​32-разрядная поддержка, а затем дополнена дополнительной поддержкой DPMI. Он был написан таким образом, чтобы упростить перенос на любую операционную систему, допускающую плоскую 32-битную адресацию; он был перенесен на Windows, а затем на Linux.

Дизайн

FASM не поддерживает столько операторов высокого уровня, как MASM или TASM. Он предоставляет функции синтаксиса и макросы, которые позволяют настраивать или создавать отсутствующие операторы. Его синтаксис адресации памяти аналогичен идеальному режиму TASM и NASM. Скобки используются для обозначения операндов памяти, как и в обоих ассемблерах, но их размер помещен за скобками, как в NASM.

FASM - многопроходный ассемблер. Он обеспечивает обширную оптимизацию размера кода и допускает неограниченные прямые ссылки. Необычная конструкция FASM определяет процедуры только в том случае, если они используются где-то в коде, то, что в большинстве языков выполняется для каждого объекта с помощью компоновщика .

FASM основывается на принципе «тот же источник, тот же результат»: командная строка не влияет на содержимое полученного файла. Такой подход избавляет исходники FASM от проблем компиляции, которые часто возникают во многих проектах сборки. С другой стороны, это затрудняет поддержку проекта, состоящего из нескольких отдельно скомпилированных исходных файлов или проектов на разных языках. Однако существует Win32 оболочка под названием FA, которая смягчает эту проблему. Проекты FASM могут быть построены из одного исходного файла непосредственно в исполняемый файл без этапа связывания.

IDE

Fresh, проект, поддерживаемый интернет-сообществом, запущенный John Found, представляет собой интегрированный среда разработки для FASM. Fresh в настоящее время поддерживает Microsoft Windows и Linux.

Используйте

Операционные системы, написанные с помощью FASM:

  • DexOS - Крейг Бэмфорд и сообщество DexOS
  • MenuetOS - 32- и 64-битные операционные системы с графическим интерфейсом пользователя от Вилле Туриянмаа
  • KolibriOS

Компиляторы, использующие FASM в качестве бэкэнда:

См. Также

Ссылки

Внешние ссылки

Последняя правка сделана 2021-05-20 06:41:55
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте