Jump to content

ФАСМ

ФАСМ
Разработчик(и) Томаш Гриштар
Первоначальный выпуск март 2000 г .; 24 года назад ( 2000-03 )
Стабильная версия
1.73.32 [1]  Отредактируйте это в Викиданных / 4 декабря 2023 г .; 7 месяцев назад ( 4 декабря 2023 г. )
Репозиторий
Написано в Сборка
Операционная система Unix-подобные , Linux , Windows и IDE, MS-DOS и IDE, OpenBSD и т. д., MenuetOS , KolibriOS , OctaOS , DexOS и IDE, SkyOS , Solar_OS
Платформа х86 , х86-64
Тип Ассемблер
Лицензия Упрощенный BSD со слабым пунктом об авторском левом
Веб-сайт сборщик квартир .сеть

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

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

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

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

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

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

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

Fresh , проект, поддерживаемый интернет-сообществом, начатый Джоном Фаундом, представляет собой интегрированную среду разработки для FASM. [9] В настоящее время Fresh поддерживает Microsoft Windows и Linux. [9]

Использовать

[ редактировать ]

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

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

См. также

[ редактировать ]
  1. ^ https://flatassembler.net/download.php . {{cite web}}: Отсутствует или пусто |title= ( помощь )
  2. ^ Грыштар, Томаш (12 мая 2008 г.). «Руководство программиста плоского ассемблера» . плоский монтажник . Проверено 12 мая 2008 г.
  3. ^ Jump up to: а б с д и Хайд, Рэндалл. «Какой ассемблер лучший?» . Проверено 18 мая 2008 г. [ постоянная мертвая ссылка ]
  4. ^ «ФАСМАРМ» . 20 марта 2008 г. Проверено 12 мая 2008 г.
  5. ^ Jump up to: а б «Интервью с Приваловым, автором ФАСМ» . 12 августа 2004 г. Архивировано из оригинала 8 октября 2007 г. Проверено 12 мая 2008 г.
  6. ^ Грыштар, Томаш (15 марта 2000 г.). «плоский ассемблер» . Проверено 19 мая 2008 г.
  7. ^ Jump up to: а б с Гриштар, Томаш. «Принципы проектирования плоского ассемблера» . Проверено 12 мая 2008 г.
  8. ^ Гриштар, Томаш. «FA – расширение командной строки для fasm» . Проверено 11 мая 2012 г.
  9. ^ Jump up to: а б Нашел, Джон. «Свежий ID проект» .
  10. ^ «МенуэтОС» . Проверено 18 мая 2008 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 5757c2572eb4c63eb4fb5d32e02771bb__1711509480
URL1:https://arc.ask3.ru/arc/aa/57/bb/5757c2572eb4c63eb4fb5d32e02771bb.html
Заголовок, (Title) документа по адресу, URL1:
FASM - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)