Porovnání assemblerů - Comparison of assemblers
Toto je seznam assemblerů: počítačové programy které překládají montážní jazyk zdrojový kód do binárních programů. Některá assemblery jsou komponenty systému kompilátoru pro jazyk vysoké úrovně a mimo systém kompilátoru mohou mít omezenou nebo žádnou použitelnou funkčnost. Některé assemblery jsou hostovány na cílovém procesoru a operačním systému, zatímco jiné assemblery (cross-assemblers) mohou běžet pod nesouvisejícím operačním systémem nebo procesorem. Například assemblery pro vestavěné systémy obvykle nejsou hostovány v cílovém systému, protože by neměl úložiště a terminál I / O, který by umožňoval vstup programu z klávesnice. Assembler může mít jeden cílový procesor nebo může mít možnosti podpory více typů procesorů. Velmi jednoduchým assemblerům mohou chybět funkce, jako např makra, představený ve výkonnějších verzích.
Jako součást sady překladačů
- GNU Assembler (gas): GPL: mnoho cílových sad instrukcí včetně ARM architektura, Atmel AVR, x86, x86-64, Freescale 68HC11, Freescale v4e, Motorola 680x0, MIPS, PowerPC, IBM Systém z, TI MSP430, Zilog Z80.
- ASxxxx Cross Assembler (součást Malý kompilátor zařízení C. projekt): GPL: několik cílových sad instrukcí včetně Intel 8051, Zilog Z80, Freescale 68HC08, PIC mikrokontrolér.
- The Amsterdamská kompilátorová sada (ACK) se zaměřuje na mnoho architektur 80. let, včetně 6502, 6800, 680x0, PAŽE, x86, Zilog Z80 a Z8000.
- LLVM Zaměřuje se na mnoho platforem, ale nevydává žádný jazyk sestavení pro každý cíl, místo toho na vyšší úrovni napsaný mezilehlé zastoupení použitý montážní jazyk.
- Někteří další samoobslužný implementace nativního jazyka (jako Jít, Free Pascal, SBCL ) mají své vlastní assemblery s více cíli. Mohou být použity pro inline montáž uvnitř jazyka, nebo dokonce zahrnut jako knihovna, ale ne vždy vhodný pro samostatnou aplikaci - neexistuje žádný nástroj příkazového řádku, nebo pouze prostřední reprezentace použitá jako zdroj, nebo podpora cílů velmi omezená.
Single target assemblers
6502 montérů
Assembler | Vývojář | FOSS | Licence | Sada instrukcí | Hostitel plošina |
---|---|---|---|---|---|
Atari Assembler Editor | Shepardson Microsystems | Ne | Proprietární | Technologie MOS 6502 | 8bitová rodina Atari |
Atari Macro Assembler | Shepardson Microsystems | Ne | Proprietární | Technologie MOS 6502 | 8bitová rodina Atari |
Lisa | Randall Hyde | Ne | Proprietární | Technologie MOS 6502 | Řada Apple II |
MAC / 65 | Software optimalizovaných systémů | Ne | Proprietární | Technologie MOS 6502, WDC 65C02 | 8bitová rodina Atari |
Merlin | Glen Bredon | Ano | Veřejná doména | Technologie MOS 6502, WDC 65C02 | Řada Apple II |
vasmus | Volker Barthelmann, Frank Wille | Volný, uvolnit | Technologie MOS 6502 | rozličný | |
k2asm | Andre Kaesmacher, Hauke Brandes, Börje Sieling | Ano | Umělecká licence | Technologie MOS 6502 | Linux, Okna, Operační Systém Mac, případně další Unices |
rmac | James Hammons, George Nakos, Landon Dyer | Ano | Volný, uvolnit | Technologie MOS 6502 | Linux, Okna, Operační Systém Mac |
xasm | Piotr Fusik | Ano | Volný, uvolnit | Technologie MOS 6502 | Linux, Okna, Operační Systém Mac |
Sestavovače 680x0
Assembler | Vývojář | FOSS | Licence | Sada instrukcí | Hostitel plošina | Vývoj aktivní |
---|---|---|---|---|---|---|
ASM-One Makro Assembler | Rune Gram-Madsen | Ne | Volný, uvolnit | Motorola 680x0 | Komodor Amiga | Ne |
vasmus | Volker Barthelmann, Frank Wille | Ne | Proprietární | Motorola 680x0 | rozličný | Ano |
rmac | James Hammons, George Nakos, Landon Dyer | Ano | Volný, uvolnit | Technologie MOS 6502 | Linux, Okna, Operační Systém Mac | Ano |
ARM montážní firmy
Assembler | Vývojář | FOSS | Licence | Sada instrukcí | Hostitel plošina |
---|---|---|---|---|---|
GNU Assembler | Projekt GNU | Ano | Volný, uvolnit | PAŽE | rozličný |
vasmus | Volný, uvolnit | PAŽE | rozličný |
Sestavovače sálových počítačů IBM
Assembler | Vývojář | FOSS | Licence | Sada instrukcí | Hostitel plošina |
---|---|---|---|---|---|
Autocoder operačního systému IBM 1410/7010 | IBM | Volný, uvolnit | IBM 1410 IBM 7010 | Operační systém IBM 1410/7010 | |
7070/7074 autokodér | IBM | Volný, uvolnit | IBM 7070/7072/7074 | ||
7080 Autocoder III | IBM | Volný, uvolnit | IBM 7080 | Procesor IBM 7058 | |
Symbolická technika kódování a montáže (SCAT) | Podíl | Volný, uvolnit | IBM 709 7090/7094/7094 II | SDÍLET operační systém (SOS) | |
Program montáže FORTRAN II (FAP) | IBM | Volný, uvolnit | IBM 709 7090/7094/7094 II | IBM 7090/94 IBSYS | |
Makro montážní program (MAPA) | IBM | Volný, uvolnit | IBM 709 IBM 7040/7044 7090/7094/7094 II | IBM IBSYS / IBJOB | |
BAL | Volný, uvolnit | IBM System / 360 | IBM BPS / 360 | ||
HLASM | Proprietární | z / Architektura | četné | ||
IBM Assembler D | Volný, uvolnit | IBM System / 360 | IBM DOS / 360 | ||
IBM Assembler E | Volný, uvolnit | IBM System / 360 | IBM OS / 360 | ||
IBM Assembler F | Volný, uvolnit | IBM System / 360 | IBM OS / 360 a CP-67 / CMS | ||
IBM Assembler H | Proprietární | IBM System / 360 a Systém / 370 | IBM OS / 360 a jeho nástupci | ||
IBM Assembler XF | Volný, uvolnit | Systém IBM / 370 | četné | ||
PL360 | Volný, uvolnit | IBM System / 360 | IBM OS / 360 |
Sestavovače POWER, PowerPC a Power ISA
Assembler | Vývojář | FOSS | Licence | Sada instrukcí | Hostitel plošina |
---|---|---|---|---|---|
IBM AIX assembler | Ne | Proprietární | NAPÁJENÍ | IBM AIX | |
vasmus | Volný, uvolnit | PowerPC | rozličný |
x86 assemblery
- ^ Část MINIX 3 zdrojový strom, ale bez zjevné vývojové aktivity.
- ^ Vyvinul Interactive Systems Corporation v roce 1986, kdy portovali Systém UNIX V na architektury Intel iAPX286 a 80386. Archetypický z Syntaxe ATT protože to bylo použito jako reference pro PLYN. Stále se používá pro Skupina SCO výrobky, UnixWare a OpenServer.
- ^ Domovská stránka se zdá neaktivní. Také nabízeno jako součást Porty FreeBSD, v bcc-1995.03.12.
- ^ Aktivní, podporované, ale nereklamované.
- ^ Vyvinuto v roce 1982 na MIT jako cross-assembler, to bylo sebráno Interactive Systems Corporation v roce 1983, kdy vyvinuli PC / IX na základě smlouvy IBM. Syntaxe byla později použit jako základna pro ACK assembler, který bude použit v MINIX 1.x nástrojová řada.
- ^ Projekt RosAsm na WebArchive.org.
- ^ Část C ++ Builder Řetěz na nářadí, ale neprodává se jako samostatný produkt nebo se prodává od vyčlenění CodeGear; Borland to do té doby stále prodával. Verze 5.0, poslední, je datována rokem 1996.
- ^ Turbo Assembler byl vyvinut jako Turbo Editasm Uriah Barnett ze společnosti Speedware Inc (Sacramento, CA) v letech 1984 až 1987, později prodaná společnosti Borland nebo prodávaná společností Borland jako jejich Turbo Assembler.
- ^ Poslední stabilní verze 1.3.0 byla vydána v srpnu 2014 a od té doby nenáročná na údržbu: https://github.com/yasm/yasm
x86-64 assemblery
Assembler | Vývojář | Operační systém | FOSS | Licence | Vývoj aktivní |
---|---|---|---|---|---|
FASM | Tomasz Grysztar | DOS, Unixový, Okna | Ano | BSD | Ano |
PLYN | Projekt GNU | DOS, OS / 2, Unixový, Okna | Ano | GNU GPL | Ano |
MASM | Microsoft | DOS, OS / 2, Windows | Xenix | Ne | Komerční | Ano |
NASM | Simon Tatham, Julian Hall, Hans Peter Anvin, et al. | DOS, Linux, Operační Systém Mac, OS / 2, Okna | Ano | BSD | Ano |
Otevřete Watcom Assembler | Watcom | DOS, FreeBSD, Linux, OS / 2, Okna | schváleno OSI, ale ne tím FSF | Sybase Open Watcom Public | Ano |
POASM | Okna, Windows Mobile | Ne | Freeware | Ano | |
TCCASM | Fabrice Bellard | Unixový, Okna | Ano | GNU LGPL | Ano |
Yasm[2] | DOS, Unixový, Okna | Ano | BSD | Ne |
Montážní firmy Z80
Assembler | Vývojář | Operační systém | FOSS | Licence | Vývoj aktivní |
---|---|---|---|---|---|
Microsoft MACRO-80 | Microsoft | CP / M, ISIS-II, TRSDOS, TEKDOS, MSX-DOS | Ne | Komerční | Ne |
Zeus Assembler | Crystal Computing | Ne | Komerční | Ne | |
z80asm | Unixový, Okna | Ano | GNU GPL | Ne |
jiný
Assembler | Vývojář | FOSS | Licence | Sada instrukcí | Hostitel plošina |
---|---|---|---|---|---|
Montážní jazyk pro Multics (ALM) | Ano | MIT | GE-645 Honeywell 6180 | GE-645 Honeywell 6180 | |
Makroasembler AS | Alfred Arnold | Volný, uvolnit | 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, 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 (až 68040), ColdFire, DSP56000, DSP56300, PowerPC 601/505, M-Core, 6800, 68HC11 (K4), 6805, 68HC (S) 08, 6809, 68HC12 vč. XGATE, 68HC16, 68RS08, SC / MP, INS807x, COP4, COP8, SC14xxx, µpD7720 / 7725, µpD77230, µpD78C1x, 75K0, 78K0, 78K2, 78K3, 78K4, V30 / 35, OLMS-40, OLMS-50, OLMS-50, OLMS-50, OLMS-50 6502, (W) 65 (S) C02, 65C19, 80C382, 80C166 / 167, 2650, 8X30x, ST6, ST7, ST9, 6804, SYM53C8xx, TMS3201x, TMS320C2x, TMS320C20x, TMS320C3x, TMS320C4x, TMS320, TMS320, TMS320, TMS320, TMS320, TMS320 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 (již není udržováno), OS / 2 (již není udržováno), Linux | |
Babbage | Ne | Proprietární | Řada GEC 4000 | Řada GEC 4000 | |
KOMPAS[3] | Control Data Corporation | Ne | Proprietární | CDC mainframe | CDC mainframe |
MAKRO-10 | Digital Equipment Corporation | Volný, uvolnit | PDP-10 | PDP-10 | |
MAKRO-11 | Digital Equipment Corporation | Volný, uvolnit | PDP-11 | PDP-11 | |
vasmus | Volný, uvolnit | Zilog Z80, Rodina Motorola 6800 | rozličný | ||
GPASM | James Bowman, Craig Franklin, David Barnett | Ano | GNU GPL | PIC mikrokontrolér | mnoho |
MIPS | Volný, uvolnit | MIPS | MIPS | ||
Symbolický optimální montážní program (MÝDLO) | Ne | Proprietární | IBM 650 | IBM 650 | |
Systém technické montáže (TASS) | Volný, uvolnit | IBM 650 | IBM 650 | ||
Autokodér[4] | Volný, uvolnit | IBM 705, 14xx, 1410, 7010, 7070, 7072, 7074, 7080 | rozličný | ||
Fortranský montážní program (FAP) | Volný, uvolnit | IBM 709, 704x, 709x | Monitorovací systém Fortran, IBSYS | ||
Program sestavování maker GCOS (GMAP) | Volný, uvolnit | Řada GE-600, Řada Honeywell 6000 | GCOS | ||
Makro montážní program (MAPA) | Volný, uvolnit | IBM 709, 704x, 709x | IBSYS / IBJOB na 709, 704x, 709x | ||
Meta-symbol | Volný, uvolnit | Řada SDS Sigma | BTM, UTS, CP-V | ||
Symbolický montážní program (MÍZA) | Volný, uvolnit | IBM 704 | IBM 704 | ||
Symbolický programovací systém (SPS)[5] | Gary Mokotoff | Volný, uvolnit | IBM 14xx, 1620, 1710 | IBM 1401, 1440, 1460, 1620, 1710 | |
ASMB, ASBL, NSBL - číselné operační kódy, používá se pro operační systém 1900 Executive | Ne | Proprietární | ICL 1900 | ICL 1900 | |
Mnemotechnické kódy GINerator, používá GEORGE (operační systém) | Ne | Proprietární | ICL 1900 | ICL 1900 | |
PLÁNOVAT mnemotechnické opcodes, používá se pro komerční 1900 programů | Ne | Proprietární | ICL 1900 | ICL 1900 | |
Single Address Assembly Language (SAAL) | Volný, uvolnit | UNIVAC 1005 | UNIVAC 1005 | ||
Detektiv | Volný, uvolnit | UNIVAC 1107 | EXEC, EXEC II, EXEC 8 | ||
Meta Assembler (MASM) | Volný, uvolnit | Řada UNIVAC 1100/2200 | UNIVAC EXEC 8 | ||
MAXIMÁLNÍ | ? | UNIVAC III | UNIVAC III |
Poznámky a odkazy
- ^ Projekt Yasm Modular Assembler
- ^ Projekt Yasm Modular Assembler
- ^ COMPASS je rodina montážních strojů pro různé stroje.
- ^ Autocoder je ve skutečnosti rodina montážních strojů pro různé stroje.
- ^ SPS je ve skutečnosti rodina montážních strojů pro různé stroje.