Сравнение сборщиков - Comparison of assemblers
Это список ассемблеров: компьютерных программ , переводящих исходный код языка ассемблера в двоичные программы. Некоторые ассемблеры являются компонентами системы компиляции для языка высокого уровня и могут иметь ограниченные функциональные возможности или не использовать их за пределами системы компиляции. Некоторые ассемблеры размещаются на целевом процессоре и операционной системе, в то время как другие ассемблеры (кросс-ассемблеры) могут работать под управлением несвязанной операционной системы или процессора. Например, ассемблеры для встроенных систем обычно не размещаются в целевой системе, поскольку у нее не будет памяти и терминального ввода-вывода, чтобы разрешить ввод программы с клавиатуры. Ассемблер может иметь один целевой процессор или может иметь опции для поддержки нескольких типов процессоров. Очень простым ассемблерам могут не хватать функций, таких как макросы , которые присутствуют в более мощных версиях.
В составе компилятора
- GNU Assembler (газ): GPL: множество целевых наборов инструкций, включая архитектуру ARM , Atmel AVR , x86 , x86-64 , Freescale 68HC11 , Freescale v4e , Motorola 680x0 , MIPS , PowerPC , IBM System z , TI MSP430 , Zilog Z80 .
- ASxxxx Cross Assembler (часть проекта компилятора Small Device C ): GPL: несколько целевых наборов инструкций, включая Intel 8051 , Zilog Z80 , Freescale 68HC08 , микроконтроллер PIC .
- Амстердам Компилятор комплект (ACK) , предназначается для многих архитектур 1980 - х годов, в том числе 6502 , 6800 , 680x0 , ARM , x86 , Zilog Z80 и Z8000 .
- LLVM нацелен на многие платформы, однако не излучает целевой язык ассемблера, вместо этого используется более высокоуровневый типизированный язык промежуточного представления, подобный ассемблере.
- Некоторые другие самостоятельные реализации целевого языка (например, Go , Free Pascal , SBCL ) имеют собственные ассемблеры с несколькими целями. Они могут использоваться для встроенной сборки внутри языка или даже включены в качестве библиотеки, но не всегда подходят для автономного приложения - инструмента командной строки не существует, или используется только промежуточное представление в качестве источника, или поддержка целевых объектов очень ограничена.
Сборщики единой мишени
6502 сборщика
Монтажники 680x0
Ассемблер | Разработчик | СОПО | Лицензия | Набор инструкций | Хост- платформа | Активная разработка |
---|---|---|---|---|---|---|
Ассемблер макросов ASM-One | Руна Грам-Мадсен | Нет | Бесплатно | Motorola 680x0 | Коммодор Амига | Нет |
Ассемблер GNU | Проект GNU | да | Бесплатно | Motorola 680x0 | различный | |
сосуд | Фолькер Бартельманн, Фрэнк Вилле | Нет | Проприетарный | Motorola 680x0 | различный | да |
rmac | Джеймс Хэммонс, Джордж Накос, Лэндон Дайер | да | Бесплатно | Технология MOS 6502 | Linux , Windows , macOS | да |
Сборщики ARM
Ассемблер | Разработчик | СОПО | Лицензия | Набор инструкций | Хост- платформа |
---|---|---|---|---|---|
Ассемблер GNU | Проект GNU | да | Бесплатно | РУКА | различный |
сосуд | Бесплатно | РУКА | различный |
Сборщики мэйнфреймов IBM
Ассемблер | Разработчик | СОПО | Лицензия | Набор инструкций | Хост- платформа |
---|---|---|---|---|---|
Автокодер ОС IBM 1410/7010 | IBM | Бесплатно |
IBM 1410 IBM 7010 |
Операционная система IBM 1410/7010 | |
7070/7074 Автокодер | IBM | Бесплатно | IBM 7070/7072/7074 | ||
7080 Autocoder III | IBM | Бесплатно | IBM 7080 | Процессор IBM 7058 | |
Техника символического кодирования и сборки (SCAT) |
Делиться | Бесплатно |
IBM 709 7090/7094/7094 II |
Операционная система SHARE (SOS) | |
Программа сборки FORTRAN II (FAP) |
IBM | Бесплатно |
IBM 709 7090/7094/7094 II |
Система мониторинга FORTRAN IBM 7090/94 IBSYS |
|
Программа сборки макросов (MAP) |
IBM | Бесплатно |
IBM 709 IBM 7040/7044 7090/7094/7094 II |
IBM IBSYS / IBJOB | |
БАЛ | Бесплатно | IBM System / 360 | IBM BPS / 360 | ||
HLASM | Проприетарный | z / Архитектура | многочисленные | ||
Ассемблер IBM D | Бесплатно | IBM System / 360 | IBM DOS / 360 | ||
Ассемблер IBM E | Бесплатно | IBM System / 360 | IBM OS / 360 | ||
Ассемблер IBM F | Бесплатно | IBM System / 360 | IBM OS / 360 и CP-67 / CMS | ||
Ассемблер IBM H | Проприетарный | IBM System / 360 и System / 370 | IBM OS / 360 и последователи | ||
IBM Ассемблер XF | Бесплатно | IBM System / 370 | многочисленные | ||
PL360 | Бесплатно | IBM System / 360 | IBM OS / 360 |
Сборщики POWER, PowerPC и Power ISA
Ассемблер | Разработчик | СОПО | Лицензия | Набор инструкций | Хост- платформа |
---|---|---|---|---|---|
Ассемблер GNU | Проект GNU | да | GNU GPL | ПИТАНИЕ , PowerPC 74xx , PowerPC 970 | Все платформы, поддерживаемые GNU Binutils |
Ассемблер IBM AIX | IBM | Нет | Проприетарный | ВЛАСТЬ | IBM AIX |
сосуд | Фолькер Бартельманн, Фрэнк Вилле | Бесплатно | МОЩНОСТЬ , 40x, 440, 460, 6xx, 7xx, 7xxx, 860, Book-E, e300 и e500 | различный |
ассемблеры x86
- ^ Частьдерева исходныхтекстов MINIX 3, но без очевидной деятельности по разработке.
- ^ РазработанInteractive Systems Corporationв 1986 году, когда они портировалиUNIX System Vна архитектуры Intel iAPX286 и 80386. Типичныйсинтаксис ATT,потому что он использовался в качестве справочника для GAS. По-прежнему используется дляпродуктовSCO Group,UnixWareиOpenServer.
- ^ Домашний сайткажется неактивным. Также предлагается как частьпортов FreeBSD, вbcc-1995.03.12.
- ^ Активно, поддерживается, но не афишируется.
- ^ Разработанный в 1982 годувМассачусетском технологическом институтекак кросс-ассемблер, он был подхваченInteractive Systems Corporationв 1983 году, когда они разработали PC / IX по контракту с IBM. Синтаксиспозжебылиспользован вкачестве основы для ассемблера ACK, который будет использоваться винструментальной цепочкеMINIX1.x.
- ^ Проект РосАсм на WebArchive.org.
- ^ Частьцепочки инструментовC ++ Builder, но не продается как отдельный продукт и не продается после выделения 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
Ассемблер | Разработчик | Операционная система | СОПО | Лицензия | Активная разработка |
---|---|---|---|---|---|
FASM | Томаш Грыштар | DOS , Unix-подобная , Windows | да | BSD | да |
ГАЗ | Проект GNU | DOS , OS / 2 , Unix-подобный , Windows | да | GNU GPL | да |
MASM | Microsoft | DOS , OS / 2 , Windows | Xenix | Нет | Коммерческий | да |
NASM | Саймон Татхам , Джулиан Холл, Ханс Петер Анвин и др. | DOS , Linux , macOS , OS / 2 , Windows | да | BSD | да |
Откройте Watcom Assembler | Watcom | ДОС , FreeBSD , Linux , OS / 2 , Windows | одобрено OSI , но не FSF | Sybase Open Watcom Public | да |
POASM | Windows , Windows Mobile | Нет | Бесплатное ПО | да | |
TCCASM | Фабрис Беллар | Unix-подобный , Windows | да | GNU LGPL | да |
Ясм | DOS , Unix-подобная , Windows | да | BSD | Нет |
Сборщики Z80
Ассемблер | Разработчик | Операционная система | СОПО | Лицензия | Активная разработка |
---|---|---|---|---|---|
Microsoft MACRO-80 | Microsoft | CP / M , ISIS-II , TRSDOS , TEKDOS , MSX-DOS | Нет | Коммерческий | Нет |
Зевс Ассемблер | Кристаллические вычисления | Нет | Коммерческий | Нет | |
z80asm | Unix-подобный , Windows | да | GNU GPL | Нет |
Другой
Ассемблер | Разработчик | СОПО | Лицензия | Набор инструкций | Хост- платформа |
---|---|---|---|---|---|
Ассемблер для Multics (ALM) | да | Массачусетский технологический институт |
GE-645 Honeywell 6180 |
GE-645 Honeywell 6180 |
|
Макроассемблер AS | Альфред Арнольд | Бесплатно | 29xxx, 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, МКН-96 / 196/296, 8080/8085, 8086 / 80186 , i960, CDP1802 (А) / 1804 (А) / 1805 (А), 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, TMS7x320CMS5, TMS720CMS320, MS320CMS , 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 | |
Автокодер | IBM | Бесплатно | IBM 705 | ||
Автокодер | IBM | Бесплатно | IBM 1400 серии | ||
Автокодер | IBM | Бесплатно |
IBM 1410 7010 |
Операционная система процессора IBM 1410 | |
Автокодер | IBM | Бесплатно |
IBM 7070 IBM 7072 7074 |
||
Автокодер | IBM | Бесплатно | IBM 7080 | ||
Бэббидж | Нет | Проприетарный | GEC 4000 серии | GEC 4000 серии | |
КОМПАС | Корпорация Control Data | Бесплатно | CDC нижняя серия 3000 |
CDC MASTER MSOs RTS OS СФЕРА |
|
КОМПАС | Корпорация Control Data | Бесплатно | CDC верхняя серия 3000 | CDC ОБЪЕМ | |
КОМПАС | Корпорация Control Data | Бесплатно |
CDC 6000 серии 7600 Cyber 70, 170 |
CDC Kronos НОМЕР НОМЕР / БЫТЬ ОБЪЕМ |
|
МАКРО-10 | Корпорация цифрового оборудования | Бесплатно | PDP-10 | PDP-10 | |
МАКРО-11 | Корпорация цифрового оборудования | Бесплатно | PDP-11 | PDP-11 | |
сосуд | Бесплатно | Zilog Z80 , семейство Motorola 6800 | различный | ||
GPASM | Джеймс Боуман, Крейг Франклин, Дэвид Барнетт | да | GNU GPL | Микроконтроллер PIC | много |
MIPS | Бесплатно | MIPS | MIPS | ||
Программа символьной оптимальной сборки (SOAP) | IBM | Бесплатно | IBM 650 | IBM 650 | |
Система технической сборки (ТАСС) | Бесплатно | IBM 650 | IBM 650 | ||
Программа сборки Fortran (FAP) | Бесплатно | IBM 709 , 704x , 709x | Система мониторинга Fortran , IBSYS | ||
Программа сборки макросов ГСНК (GMAP) | Бесплатно | GE-600 серии , Honeywell серии 6000 | ГСНК | ||
Программа сборки макросов (MAP) | Бесплатно | IBM 709 , 704x , 709x | IBSYS / IBJOB на 709, 704x, 709x | ||
Мета-символ | Бесплатно | SDS Sigma серии | БТМ, ОТС , CP-V | ||
Программа символьной сборки (SAP) | Бесплатно | IBM 704 | IBM 704 | ||
Система символьного программирования (SPS) | Гэри Мокотофф | Бесплатно | IBM 14xx , 1620 , 1710 | IBM 1401, 1440, 1460, 1620, 1710 | |
ASMB, ASBL, NSBL - числовые коды операций, используемые для 1900 Operating System Executive |
Нет | Проприетарный | ICL 1900 | ICL 1900 | |
Мнемонические коды операций GINerator, используемые для GEORGE (операционная система) |
Нет | Проприетарный | 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 |