Montajcıların karşılaştırılması - Comparison of assemblers
Bu, montajcıların bir listesidir: Montaj dili kaynak kodunu ikili programlara çeviren bilgisayar programları. Bazı derleyiciler, yüksek seviyeli bir dil için bir derleyici sisteminin bileşenleridir ve derleyici sisteminin dışında sınırlı veya hiç kullanılabilir işlevselliğe sahip olmayabilir. Bazı derleyiciler hedef işlemci ve işletim sisteminde barındırılırken, diğer derleyiciler (çapraz birleştiriciler) alakasız bir işletim sistemi veya işlemci altında çalışabilir. Örneğin, gömülü sistemler için birleştiriciler , bir klavyeden bir programın girişine izin vermek için depolama ve terminal G/Ç'sine sahip olmayacağından, genellikle hedef sistemde barındırılmaz. Bir montajcının tek bir hedef işlemcisi olabilir veya birden çok işlemci türünü destekleme seçenekleri olabilir. Çok basit montajcılar, daha güçlü sürümlerde bulunan makrolar gibi özelliklerden yoksun olabilir .
Derleyici paketinin bir parçası olarak
- GNU Assembler (gaz): GPL: ARM mimarisi , Atmel AVR , x86 , x86-64 , Freescale 68HC11 , Freescale v4e , Motorola 680x0 , MIPS , PowerPC , IBM System z , TI MSP430 , Zilog Z80 dahil olmak üzere birçok hedef komut seti .
- ASxxxx Cross Assembler ( Küçük Cihaz C Derleyici projesinin bir parçası): GPL: Intel 8051 , Zilog Z80 , Freescale 68HC08 , PIC mikrodenetleyici dahil olmak üzere çeşitli hedef komut setleri .
- Amsterdam Derleyici Seti (ACK) gibi 1980'lerin birçok mimarileri, hedef 6502 , 6800 , 680x0 , ARM , x86 , birZilog Z80 ve Z8000 .
- LLVM birçok platformu hedefler, ancak hedef başına derleme dili yaymaz, bunun yerine daha yüksek düzeyde yazılmış ara temsil derleme benzeri dil kullanılır.
- Diğer bazı kendi kendine barındırılan yerel hedefli dil uygulamaları ( Go , Free Pascal , SBCL gibi ) birden çok hedefe sahip kendi birleştiricilerine sahiptir. Dil içinde satır içi derleme için kullanılabilirler , hatta bir kitaplık olarak dahil edilebilirler, ancak her zaman bağımsız uygulama için uygun değildirler - komut satırı aracı yoktur veya yalnızca kaynak olarak kullanılan ara temsiller veya hedefler için destek çok sınırlıdır.
Tek hedef birleştiriciler
6502 montajcı
680x0 montajcılar
montajcı | geliştirici | FOSS | Lisans | Komut seti | Ana bilgisayar platformu | Geliştirme aktif |
---|---|---|---|---|---|---|
ASM-One Makro Birleştirici | Rune Gram-Madsen | Numara | Özgür | Motorola 680x0 | Amiral Amiga | Numara |
GNU Birleştirici | GNU Projesi | Evet | Özgür | Motorola 680x0 | çeşitli | |
vasm | Volker Barthelmann, Frank Wille | Numara | tescilli | Motorola 680x0 | çeşitli | Evet |
rmak | James Hammons, George Nakos, Landon Dyer | Evet | Özgür | MOS Teknolojisi 6502 | Linux , Windows , macOS | Evet |
ARM montajcıları
montajcı | geliştirici | FOSS | Lisans | Komut seti | Ana bilgisayar platformu |
---|---|---|---|---|---|
GNU Birleştirici | GNU Projesi | Evet | Özgür | KOL | çeşitli |
vasm | Özgür | KOL | çeşitli |
IBM ana bilgisayar toplayıcıları
montajcı | geliştirici | FOSS | Lisans | Komut seti | Ana bilgisayar platformu |
---|---|---|---|---|---|
IBM 1410/7010 İşletim Sistemi Otomatik Kodlayıcı | IBM | Özgür |
IBM 1410 IBM 7010 |
IBM 1410/7010 İşletim Sistemi | |
7070/7074 Otomatik Kodlayıcı | IBM | Özgür | IBM 7070/7072/7074 | ||
7080 Otomatik Kodlayıcı III | IBM | Özgür | IBM 7080 | IBM 7058 İşlemci | |
Sembolik Kodlama ve Montaj Tekniği (SCAT) |
Paylaş | Özgür |
IBM 709 7090/7094/7094 II |
PAYLAŞ İşletim Sistemi (SOS) | |
FORTRAN II Montaj Programı (FAP) |
IBM | Özgür |
IBM 709 7090/7094/7094 II |
FORTRAN İzleme Sistemi IBM 7090/94 IBSYS |
|
Makro Montaj Programı (MAP) |
IBM | Özgür |
IBM 709 IBM 7040/7044 7090/7094/7094 II |
IBM IBSYS/IBJOB | |
BAL | Özgür | IBM Sistemi/360 | IBM BPS/360 | ||
HLASM | tescilli | z/Mimarlık | çeşitli | ||
IBM Assembler D | Özgür | IBM Sistemi/360 | IBM DOS/360 | ||
IBM Assembler E | Özgür | IBM Sistemi/360 | IBM OS/360 | ||
IBM Assembler F | Özgür | IBM Sistemi/360 | IBM OS/360 ve CP-67/CMS | ||
IBM Assembler H | tescilli | IBM System/360 ve System/370 | IBM OS/360 ve ardılları | ||
IBM Assembler XF | Özgür | IBM Sistemi/370 | çeşitli | ||
PL360 | Özgür | IBM Sistemi/360 | IBM OS/360 |
POWER, PowerPC ve Power ISA montajcıları
montajcı | geliştirici | FOSS | Lisans | Komut seti | Ana bilgisayar platformu |
---|---|---|---|---|---|
GNU Birleştirici | GNU Projesi | Evet | GNU GPL'si | GÜÇ , PowerPC 74xx , PowerPC 970 | GNU Binutils tarafından desteklenen tüm platformlar |
IBM AIX montajcısı | IBM | Numara | tescilli | GÜÇ | IBM AIX |
vasm | Volker Barthelmann, Frank Wille | Özgür | GÜÇ , 40x, 440, 460, 6xx, 7xx, 7xxx, 860, Book-E, e300 ve e500 | çeşitli |
x86 birleştiriciler
- ^ BölümMINIX 3kaynak ağacının ama bariz gelişme olmaksızın.
- ^ Tarafından geliştirileninteraktif Systems Corporationonlar portu yaparken 1986 yılındaUNIX Sistem VIntel iAPX286 ve 80386 mimarileri için. Arasında ArketipselATT sözdizimigaz için referans olarak kullanılmıştır, çünkü. HâlâSCO Group'unürünleri olanUnixWareveOpenServer için kullanılıyor.
- ^ Ana sitedevre dışı görünüyor. Ayrıca bir parçası olarak sunulanFreeBSD Limanlarıiçinde,bcc-1995/03/12.
- ^ Etkin, destekleniyor, ancak reklamı yapılmamış.
- ^ 1982 yılında geliştirilenenMITo tarafından tutuklanmıştı, çapraz montajı yapmasındanİnteraktif Systems Corporationonlar IBM sözleşme altında PC / IX geliştirdiği zaman 1983 yılında. Sözdizimi dahasonraMINIX1.x araç zincirindekullanılmak üzere ACK birleştiricisi için temel olarak kullanıldı.
- ^ WebArchive.org'daki RosAsm projesi.
- ^ BölümC ++ BuilderAracı Zinciri değil, çünkü tek başına bir ürün olarak satılan veya pazarlanan CodeGear'ın yan ürün; Borland o zamana kadar hala satıyordu. Sürüm 5.0, sonuncusu 1996 tarihlidir.
- ^ Turbo Assembler,1984 ve 1987 yılları arasında Speedware Inc'den (Sacramento, CA) Uriah Barnett tarafındanTurbo Editasmolarak geliştirildi, daha sonra Borland tarafından Turbo Assembler olarak satıldı veya pazarlandı.
- ^ Son kararlı sürüm 1.3.0, Ağustos 2014'te yayınlandı ve o zamandan beri düşük bakım:https://github.com/yasm/yasm
x86-64 birleştiriciler
montajcı | geliştirici | İşletim sistemi | FOSS | Lisans | Geliştirme aktif |
---|---|---|---|---|---|
FASM | Tomasz Grysztar | DOS , Unix benzeri , Windows | Evet | BSD | Evet |
GAZ | GNU Projesi | DOS , OS/2 , Unix benzeri , Windows | Evet | GNU GPL'si | Evet |
MASM | Microsoft | DOS , OS/2 , Windows|Xenix | Numara | Reklam | Evet |
NASM | Simon Tatham , Julian Hall, Hans Peter Anvin , et al. | DOS , Linux , macOS , OS/2 , Windows | Evet | BSD | Evet |
Watcom Assembler'ı açın | watcom | DOS , FreeBSD , Linux , OS/2 , Windows | OSI tarafından onaylandı , ancak FSF tarafından onaylanmadı | Sybase Açık Watcom Herkese Açık | Evet |
POASM | Windows , Windows Mobil | Numara | ücretsiz | Evet | |
TCCASM | Kumaş Bellard | Unix benzeri , Windows | Evet | GNU LGPL | Evet |
yasm | DOS , Unix benzeri , Windows | Evet | BSD | Numara |
Z80 montajcılar
montajcı | geliştirici | İşletim sistemi | FOSS | Lisans | Geliştirme aktif |
---|---|---|---|---|---|
Microsoft MAKRO-80 | Microsoft | CP/M , ISIS-II , TRSDOS , TEKDOS , MSX-DOS | Numara | Reklam | Numara |
Zeus Birleştirici | Kristal Hesaplama | Numara | Reklam | Numara | |
z80asm | Unix benzeri , Windows | Evet | GNU GPL'si | Numara |
Başka
montajcı | geliştirici | FOSS | Lisans | Komut seti | Ana bilgisayar platformu |
---|---|---|---|---|---|
Multics için Montaj Dili (ALM) | Evet | MİT |
GE-645 Honeywell 6180 |
GE-645 Honeywell 6180 |
|
Makro Birleştirici AS | Alfred Arnold | Özgür | 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/296/196, 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'a kadar), ColdFire, DSP56000, DSP56300, PowerPC 601/505, M-Core, 6800 , 68HC11 (K4), 6805, 68HC(S)08, 6809, 68HC12 dahil. XGATE, 68HC16, 68RS08, SC/MP, INS807x, COP4, COP8, SC14xxx, µpD7720/7725, µpD77230, µpD78C1x, 75K0, 78K0, 78K2, 78K3, 78K4, V30/35, OLMS-40, XA, OLMS 6502 , (W)65(S)C02, 65C19, 80C382, 80C166/167, 2650, 8X30x, ST6, ST7, ST9, 6804, SYM53C8xx, TMS3201x, TMS320C2x, TMS320C20x, TMS320C3x, TMS320C4x, TMS320C, TMS320C5x, TMS320C, TMS320C , 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 (artık bakımı yapılmamaktadır), OS/2 (artık bakımı yapılmamaktadır), Linux | |
otomatik kodlayıcı | IBM | Özgür | IBM 705 | ||
otomatik kodlayıcı | IBM | Özgür | IBM 1400 serisi | ||
otomatik kodlayıcı | IBM | Özgür |
IBM 1410 7010 |
IBM 1410 İşlemci İşletim Sistemi | |
otomatik kodlayıcı | IBM | Özgür |
IBM 7070 IBM 7072 7074 |
||
otomatik kodlayıcı | IBM | Özgür | IBM 7080 | ||
Babbage | Numara | tescilli | GEC 4000 serisi | GEC 4000 serisi | |
PUSULA | Kontrol Verileri Şirketi | Özgür | CDC alt 3000 serisi |
CDC MASTER MSOS RTS OS KAPSAMI |
|
PUSULA | Kontrol Verileri Şirketi | Özgür | CDC üst 3000 serisi | CDC KAPSAMI | |
PUSULA | Kontrol Verileri Şirketi | Özgür |
CDC 6000 serisi 7600 Siber 70, 170 |
CDC Kronos NOS NOS/BE KAPSAMI |
|
MAKRO-10 | Dijital Ekipman Şirketi | Özgür | PDP-10 | PDP-10 | |
MAKRO-11 | Dijital Ekipman Şirketi | Özgür | PDP-11 | PDP-11 | |
vasm | Özgür | Zilog Z80 , Motorola 6800 ailesi | çeşitli | ||
GPASM | James Bowman, Craig Franklin, David Barnett | Evet | GNU GPL'si | PIC mikrodenetleyici | birçok |
MIPS | Özgür | MIPS | MIPS | ||
Sembolik Optimal Montaj Programı (SOAP) | IBM | Özgür | IBM 650 | IBM 650 | |
Teknik Montaj Sistemi (TASS) | Özgür | IBM 650 | IBM 650 | ||
Fortran Montaj Programı (FAP) | Özgür | IBM 709 , 704x , 709x | Fortran İzleme Sistemi , IBSYS | ||
GCOS Makro Birleştirme Programı (GMAP) | Özgür | GE-600 serisi , Honeywell 6000 serisi | GCOS | ||
Makro Montaj Programı (MAP) | Özgür | IBM 709 , 704x , 709x | 709, 704x, 709x üzerinde IBSYS /IBJOB | ||
Meta-Sembol | Özgür | SDS Sigma serisi | BTM, ÜTS , CP-V | ||
Sembolik Montaj Programı (SAP) | Özgür | IBM 704 | IBM 704 | ||
Sembolik Programlama Sistemi (SPS) | Gary Mokotoff | Özgür | IBM 14xx , 1620 , 1710 | IBM 1401, 1440, 1460, 1620, 1710 | |
ASMB, ASBL, NSBL - 1900 İşletim Sistemi Yöneticisi için kullanılan sayısal işlem kodları |
Numara | tescilli | ICL 1900 | ICL 1900 | |
GEORGE (işletim sistemi) için kullanılan GINerator anımsatıcı işlem kodları |
Numara | tescilli | ICL 1900 | ICL 1900 | |
Ticari 1900 programları için kullanılan PLAN anımsatıcı işlem kodları |
Numara | tescilli | ICL 1900 | ICL 1900 | |
Tek Adres Derleme Dili (SAAL) | Özgür | UNIVAC 1005 | UNIVAC 1005 | ||
dedektif | Özgür | UNIVAC 1107 | EXEC , EXEC II , EXEC 8 | ||
Meta Birleştirici (MASM) | Özgür | UNIVAC 1100/2200 serisi | UNIVAC YÖNETİCİ 8 | ||
SON DERECE | ? | UNIVAC III | UNIVAC III |