Сравнение ассемблеров
Это неполное сравнение ассемблеров . Некоторые ассемблеры являются компонентами системы компилятора языка программирования высокого уровня и могут иметь ограниченную функциональность или вообще не иметь ее за пределами системы компилятора. Некоторые ассемблеры размещаются на целевом процессоре и операционной системе, в то время как другие ассемблеры (кросс-ассемблеры) могут работать под управлением несвязанной операционной системы или процессора. Например, ассемблеры для встраиваемых систем обычно не размещаются в целевой системе, поскольку у нее нет хранилища и терминала ввода-вывода, позволяющего вводить программу с клавиатуры. Ассемблер может иметь один целевой процессор или иметь возможность поддерживать несколько типов процессоров.
Как часть компилятора
[ редактировать ]- GNU Assembler (GAS): GPL: множество целевых наборов инструкций, включая архитектуру ARM , Atmel AVR , x86 , x86-64 , Freescale 68HC11 , Freescale v4e , Motorola 680x0 , MIPS , PowerPC , IBM System z , TI MSP430 , Zilog Z80 .
- SDAS (форк ASxxxx Cross Assemblers и часть проекта Small Device C Compiler ): GPL: несколько целевых наборов инструкций, включая Intel 8051 , Zilog Z80 , Freescale 68HC08 , микроконтроллер PIC .
- Амстердамский компиляторный комплект (ACK) предназначен для многих архитектур 1980-х годов, включая 6502 , 6800 , 680x0 , ARM , x86 , Zilog Z80 и Z8000 .
- LLVM ориентирован на многие платформы, однако его основное внимание уделяется не машинно-зависимой генерации кода; более высокоуровневое типизированное промежуточное представление, подобное ассемблеру вместо этого используется . Тем не менее, для наиболее распространенных целей проект LLVM MC (машинный код) предоставляет ассемблер как интегрированный компонент компиляторов, так и как внешний инструмент.
- Некоторые другие самостоятельные реализации нативного языка (например, Go , Free Pascal , SBCL ) имеют свои собственные ассемблеры с несколькими целями. Их можно использовать для встроенной сборки внутри языка или даже включать в качестве библиотеки, но они не всегда подходят для использования вне их структуры — не существует инструмента командной строки, или в качестве входных данных можно использовать только промежуточное представление. , или набор поддерживаемых целей очень ограничен.
Одноцелевые ассемблеры
[ редактировать ]6502 монтажника
[ редактировать ]680x0 ассемблеры
[ редактировать ]Ассемблер | Разработчик | ФОСС | Лицензия | Набор инструкций | Хост- платформа | Разработка активна |
---|---|---|---|---|---|---|
Макросассемблер ASM-One | Руна Грам-Мадсен | Нет | Бесплатно | Моторола 680x0 | Коммодор Амига | Нет |
ГАЗ | Проект GNU | Да | Бесплатно | Моторола 680x0 | различный | Да |
ВАСМ | Фолькер Бартельманн, Франк Вилле | Нет | Собственный | Моторола 680x0 | различный | Да |
РМАК | Джеймс Хэммонс, Джордж Накос, Лэндон Дайер | Да | Бесплатно | Motorola 680x0 , технология MOS 6502 | Линукс , Виндовс , МакОС | Да |
ARM-ассемблеры
[ редактировать ]Ассемблер | Разработчик | ФОСС | Лицензия | Хост- платформа | ARM64 |
---|---|---|---|---|---|
ГАЗ | Проект GNU | Да | GNU GPL | различный | Да |
TCCASM | Фабрис Беллард | Да | ГНУ ЛГПЛ | Unix-подобный , Windows | Да |
ВАСМ | Фолькер Бартельманн, Франк Вилле | Нет | Бесплатно | различный | Нет |
Сборщики мэйнфреймов
[ редактировать ]Ассемблеры POWER, PowerPC и Power ISA
[ редактировать ]Ассемблер | Разработчик | ФОСС | Лицензия | Набор инструкций | Хост- платформа |
---|---|---|---|---|---|
ГАЗ | Проект GNU | Да | GNU GPL | МОЩНОСТЬ , PowerPC 74xx , PowerPC 970 | Все платформы, поддерживаемые GNU Binutils. |
Ассемблер IBM AIX | ИБМ | Нет | Собственный | ВЛАСТЬ | 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 .
- ^ Активен, поддерживается, но не афишируется.
- ^ Часть цепочки инструментов 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.
Сборщики Z80
[ редактировать ]Ассемблер | Разработчик | Хост- платформа | ФОСС | Лицензия | Разработка активна |
---|---|---|---|---|---|
Майкрософт МАКРО-80 | Майкрософт | CP/M , ISIS-II , TRSDOS , TEKDOS , MSX-DOS | Нет | Коммерческий | Нет |
Зевс Ассемблер | Кристаллические вычисления | ZX Спектр | Нет | Коммерческий | Нет |
z80asm | Питер Коллнер, Пол Фло Уильямс, Джон Кричли, Бас Вейнен | Unix-подобный , Windows | Да | GNU GPL | Нет |
Сьясмплюс | Сьерд Мастайн, Априсобаль, Петер Хельцмановский, ... | Unix-подобный , Windows | Да | БСД | Да |
Картина | Берге Эдуард | Unix-подобный , Windows | Да | С | Да |
Другие одноцелевые ассемблеры
[ редактировать ]Ретаргетинговые/кросс-ассемблеры
[ редактировать ]Ассемблер | Разработчик | ФОСС | Лицензия | Набор инструкций | Хост- платформа |
---|---|---|---|---|---|
Макросассемблер АС | Альфред Арнольд | Бесплатно | 29xxx, AVR , 65816, ACE, F2MC-8L, F2MC-16L, HMCS400, 6301, 6309, H8/300(H), H8/500, SH7000/SH7600/SH7700, HuC6280, PPC403GA, 4004/4040, 8008, МКС-48, МКС-41, МКС-51 , МКС-251, МКС-96/196/296, 8080/8085, [ | Win32 , DOS/DPMI, DOS (больше не поддерживается), OS/2 (больше не поддерживается), Linux | |
Сборщики крестовин ASxxxx | Алан Р. Болдуин | Да | GNU GPL | 1802, S2650, SC/MP, MPS430, 6100, 61860, 6500 , 6800 (6802/6808), 6801(6803/HD6303), 6804, 6805, 68HC(S)08 , 6809, 68HC11, 68HC(S)12, 68HC16, 740, 78K/0, 78K/0S, 8008 , 8008S, 8048(8041/8022/8021), 8051 , 8085( 8080 ), AT89LP, 8X300(8X305), DS8XCXXX, AVR , EZ80, F2MC8L/FX, F8/3870, Game Boy (sm83), H8/3xx, Cypress PSoC(M8C), PIC , Rabbit 2000/3000 , ST6, ST7 , ST8 , Z8, Z80 (HD64180) и Z280 ряд | Win32 , ДОС , Линукс , Андроид |
Примечания и ссылки
[ редактировать ]- ^ Модификация ассемблера F IBM
- ^ Корпорация Ксерокс (1975). Программа сборки Xerox (AP) (PDF) . Проверено 28 июня 2023 г.
- ^ Проект модульного ассемблера Yasm