Сравнение ассемблеров - Comparison of assemblers
Это список ассемблеров: компьютерные программы что переводить язык ассемблера исходный код в двоичные программы. Некоторые ассемблеры являются компонентами системы компиляции для языка высокого уровня и могут иметь ограниченные функциональные возможности или не использовать их за пределами системы компилятора. Некоторые ассемблеры размещаются на целевом процессоре и операционной системе, в то время как другие ассемблеры (кросс-ассемблеры) могут работать под несвязанной операционной системой или процессором. Например, сборщики для встроенные системы обычно не размещаются в целевой системе, так как у нее не было бы хранилища и терминального ввода-вывода, позволяющего ввод программы с клавиатуры. Ассемблер может иметь один целевой процессор или может иметь опции для поддержки нескольких типов процессоров. Очень простым ассемблерам могут не хватать таких функций, как макросы, присутствует в более мощных версиях.
В составе компилятора
- Ассемблер GNU (газ): GPL: множество целевых наборов инструкций, включая ARM архитектура, Atmel AVR, x86, x86-64, Freescale 68HC11, Freescale v4e, Motorola 680x0, MIPS, PowerPC, IBM Система z, TI MSP430, Зилог Z80.
- ASxxxx Cross Assembler (часть Компилятор C для малых устройств project): GPL: несколько целевых наборов инструкций, включая Intel 8051, Зилог Z80, Freescale 68HC08, Микроконтроллер PIC.
- В Комплект компилятора Amsterdam (ACK) нацелен на многие архитектуры 1980-х годов, включая 6502, 6800, 680x0, РУКА, x86, Зилог Z80 и Z8000.
- LLVM нацелен на многие платформы, однако не излучает целевой язык ассемблера, а вместо этого использует более высокоуровневый напечатанный промежуточное представление Используется ассемблерный язык.
- Некоторые другие самостоятельный реализации на родном языке (например, Идти, Free Pascal, SBCL ) имеют свои собственные ассемблеры с несколькими целями. Их можно использовать для встроенная сборка внутри языка или даже в виде библиотеки, но не всегда подходит для автономного приложения - инструмента командной строки не существует, или используется только промежуточное представление в качестве источника, или поддержка целей очень ограничена.
Сборщики единой мишени
6502 монтажника
Ассемблер | Разработчик | FOSS | Лицензия | Набор инструкций | Хозяин Платформа |
---|---|---|---|---|---|
Редактор ассемблера Atari | Shepardson Microsystems | Нет | Проприетарный | Технология MOS 6502 | Семейство 8-битных Atari |
Ассемблер макросов Atari | Shepardson Microsystems | Нет | Проприетарный | Технология MOS 6502 | Семейство 8-битных Atari |
Лиза | Рэндалл Хайд | Нет | Проприетарный | Технология MOS 6502 | Apple II серии |
MAC / 65 | Оптимизированное системное программное обеспечение | Нет | Проприетарный | Технология MOS 6502, WDC 65C02 | Семейство 8-битных Atari |
Мерлин | Глен Бредон | да | Всеобщее достояние | Технология MOS 6502, WDC 65C02 | Apple II серии |
сосуды | Фолькер Бартельманн, Фрэнк Вилле | Свободный | Технология MOS 6502 | разные | |
k2asm | Андре Кесмахер, Хауке Брандес, Бёрье Сиелинг | да | Художественная лицензия | Технология MOS 6502 | Linux, Windows, macOS, возможно, другие системы |
rmac | Джеймс Хэммонс, Джордж Накос, Лэндон Дайер | да | Свободный | Технология MOS 6502 | Linux, Windows, macOS |
xasm | Петр Фусик | да | Свободный | Технология MOS 6502 | Linux, Windows, macOS |
680x0 монтажники
Ассемблер | Разработчик | FOSS | Лицензия | Набор инструкций | Хозяин Платформа | Активная разработка |
---|---|---|---|---|---|---|
Ассемблер макросов ASM-One | Руна Грам-Мадсен | Нет | Свободный | Motorola 680x0 | Коммодор Amiga | Нет |
сосуды | Фолькер Бартельманн, Фрэнк Вилле | Нет | Проприетарный | Motorola 680x0 | разные | да |
rmac | Джеймс Хэммонс, Джордж Накос, Лэндон Дайер | да | Свободный | Технология MOS 6502 | Linux, Windows, macOS | да |
Сборщики ARM
Ассемблер | Разработчик | FOSS | Лицензия | Набор инструкций | Хозяин Платформа |
---|---|---|---|---|---|
Ассемблер GNU | Проект GNU | да | Свободный | РУКА | разные |
сосуды | Свободный | РУКА | разные |
Сборщики мэйнфреймов IBM
Сборщики POWER, PowerPC и Power ISA
Ассемблер | Разработчик | FOSS | Лицензия | Набор инструкций | Хозяин Платформа |
---|---|---|---|---|---|
Ассемблер IBM AIX | Нет | Проприетарный | МОЩНОСТЬ | IBM AIX | |
сосуды | Свободный | PowerPC | разные |
ассемблеры x86
- ^ Часть МИНИКС 3 дерево исходных текстов, но без явной деятельности по разработке.
- ^ Разработан Корпорация Interactive Systems в 1986 году, когда они портировали Система UNIX V для архитектур Intel iAPX286 и 80386. Архетипичный Синтаксис ATT потому что он использовался как ссылка для ГАЗ. Все еще используется для Группа ШОС продукция, UnixWare и OpenServer.
- ^ Домашний сайт кажется неактивным. Также предлагается как часть Порты FreeBSD, в bcc-1995.03.12.
- ^ Активно, поддерживается, но без рекламы.
- ^ Разработан в 1982 г. в Массачусетский технологический институт как кросс-ассемблер он был подхвачен Корпорация Interactive Systems в 1983 году, когда они разработали PC / IX по контракту с IBM. Синтаксис был позже использовал в качестве основы для ассемблера ACK, который будет использоваться в МИНИКС 1.x набор инструментов.
- ^ Проект РосАсм на WebArchive.org.
- ^ Часть C ++ Builder Tool Chain, но не продается как отдельный продукт и не продается после выделения CodeGear; До тех пор Borland все еще продавала его. Последняя версия 5.0 датирована 1996 годом.
- ^ Turbo Assembler разрабатывался как Turbo Editasm Урия Барнетт из Speedware Inc (Сакраменто, Калифорния) в период с 1984 по 1987 год, а затем продан или продан Borland в качестве их Turbo Assembler.
- ^ Последняя стабильная версия 1.3.0 была выпущена в августе 2014 года и с тех пор не требует особого обслуживания: https://github.com/yasm/yasm
ассемблеры x86-64
Ассемблер | Разработчик | Операционная система | FOSS | Лицензия | Активная разработка |
---|---|---|---|---|---|
FASM | Томаш Грыштар | ДОС, Unix-подобный, Windows | да | BSD | да |
ГАЗ | Проект GNU | ДОС, OS / 2, Unix-подобный, Windows | да | GNU GPL | да |
MASM | Microsoft | ДОС, OS / 2, Windows | Xenix | Нет | Коммерческий | да |
NASM | Саймон Тэтхам, Джулиан Холл, Ханс Петер Анвин, и другие. | ДОС, Linux, macOS, OS / 2, Windows | да | BSD | да |
Откройте Watcom Assembler | Watcom | ДОС, FreeBSD, Linux, OS / 2, Windows | одобрено OSI, но не ФСПО | Sybase Open Watcom Public | да |
POASM | Windows, Windows Mobile | Нет | Бесплатное ПО | да | |
TCCASM | Фабрис Беллар | Unix-подобный, Windows | да | GNU LGPL | да |
Ясм[2] | ДОС, Unix-подобный, Windows | да | BSD | Нет |
Сборщики Z80
Ассемблер | Разработчик | Операционная система | FOSS | Лицензия | Активная разработка |
---|---|---|---|---|---|
Microsoft MACRO-80 | Microsoft | CP / M, ИГИЛ-II, TRSDOS, ТЕКДОС, MSX-DOS | Нет | Коммерческий | Нет |
Зевс Ассемблер | Crystal Computing | Нет | Коммерческий | Нет | |
z80asm | Unix-подобный, Windows | да | GNU GPL | Нет |
Другой
Ассемблер | Разработчик | FOSS | Лицензия | Набор инструкций | Хозяин Платформа |
---|---|---|---|---|---|
Язык ассемблера для Мультики (ALM) | да | Массачусетский технологический институт | GE-645 Honeywell 6180 | GE-645 Honeywell 6180 | |
Макроассемблер AS | Альфред Арнольд | Свободный | 29ххх, AVR, 65816, ACE, F2MC-8L, F2MC-16L, HMCS400, 6301, 6309, H8 / 300 (H), H8 / 500, SH7000 / SH7600 / SH7700, HuC6280, PPC403GA, 4004/4040, 8008, MCS-48, MCS-41, MCS-51, MCS-251, MCS-96/196/296, 8080/8085, 8086 /80186, i960, CDP1802 (A) / 1804 (A) / 1805 (A), LatticeMico8, PIC 16C5x, PIC 16C8x, PIC 17C42, MELPS-740, MELPS-7700, MELPS-4500, M16, M16C, 68000 (до 68040), ColdFire, DSP56000, DSP56300, PowerPC 601/505, M-Core, 6800, 68HC11 (K4), 6805, 68HC (S) 08, 6809, 68HC12 вкл. XGATE, 68HC16, 68RS08, SC / MP, INS807x, COP4, COP8, SC14xxx, µpD7720 / 7725, µpD77230, µpD78C1x, 75K0, 78K0, 78K2, 78K3, 78K4, V30 / 35, OLMS-40, OLMS-50 6502, (Вт) 65 (S) C02, 65C19, 80C382, 80C166 / 167, 2650, 8X30x, ST6, ST7, ST9, 6804, SYM53C8xx, TMS3201x, TMS320C2x, TMS320C20x, TMS320C3x, TMS320MS320C4x, TMS320CMS320CMS5 TMS9900, TMS370xxx, MSP430 (X), TLCS-900, TLCS-90, TLCS-870, TLCS-47, TLCS-9000, TC9331, KCPSM / KCPSM3 ('PicoBlaze'), Z80, Z180, Z380, Z8, eZ8, MIL STD 1750 | Win32, DOS / DPMI, DOS (больше не поддерживается), OS / 2 (больше не поддерживается), Linux | |
Бэббидж | Нет | Проприетарный | GEC 4000 серии | GEC 4000 серии | |
КОМПАС[3] | Корпорация Control Data | Нет | Проприетарный | CDC мэйнфрейм | CDC мэйнфрейм |
МАКРО-10 | Корпорация цифрового оборудования | Свободный | PDP-10 | PDP-10 | |
МАКРО-11 | Корпорация цифрового оборудования | Свободный | PDP-11 | PDP-11 | |
сосуды | Свободный | Зилог Z80, Семейство Motorola 6800 | разные | ||
GPASM | Джеймс Боуман, Крейг Франклин, Дэвид Барнетт | да | GNU GPL | Микроконтроллер PIC | много |
MIPS | Свободный | MIPS | MIPS | ||
Символьная оптимальная программа сборки (МЫЛО) | Нет | Проприетарный | IBM 650 | IBM 650 | |
Система технической сборки (ТАСС) | Свободный | IBM 650 | IBM 650 | ||
Автокодер[4] | Свободный | IBM 705, 14xx, 1410, 7010, 7070, 7072, 7074, 7080 | разные | ||
Программа сборки Fortran (ФАП) | Свободный | IBM 709, 704x, 709x | Система мониторинга Fortran, IBSYS | ||
Программа сборки макросов ГСНК (GMAP) | Свободный | GE-600 серия, Honeywell 6000 серии | ГСНК | ||
Программа сборки макросов (КАРТА) | Свободный | IBM 709, 704x, 709x | IBSYS / IBJOB на 709, 704x, 709x | ||
Мета-символ | Свободный | SDS Sigma серии | БТМ, UTS, CP-V | ||
Программа символьной сборки (SAP) | Свободный | IBM 704 | IBM 704 | ||
Система символьного программирования (СПС)[5] | Гэри Мокотофф | Свободный | IBM 14xx, 1620, 1710 | IBM 1401, 1440, 1460, 1620, 1710 | |
ASMB, ASBL, NSBL - числовые коды операций, используется для 1900 Operating System Executive | Нет | Проприетарный | ICL 1900 | ICL 1900 | |
Мнемонические коды операций GINerator, используется для ДЖОРДЖ (операционная система) | Нет | Проприетарный | ICL 1900 | ICL 1900 | |
Мнемонические коды операций PLAN, используется для коммерческих программ 1900 | Нет | Проприетарный | ICL 1900 | ICL 1900 | |
Язык сборки единого адреса (SAAL) | Свободный | UNIVAC 1005 | UNIVAC 1005 | ||
Сыщик | Свободный | UNIVAC 1107 | EXEC, EXEC II, EXEC 8 | ||
Мета-ассемблер (MASM) | Свободный | UNIVAC серии 1100/2200 | UNIVAC EXEC 8 | ||
UTMOST | ? | UNIVAC III | UNIVAC III |
Примечания и ссылки
- ^ Проект модульного ассемблера Yasm
- ^ Проект модульного ассемблера Yasm
- ^ COMPASS - это семейство сборщиков разрозненных машин.
- ^ Autocoder - это фактически семейство ассемблеров для разрозненных машин.
- ^ SPS - это фактически семейство сборщиков разнородных машин.