请输入您要查询的百科知识:

 

词条 Comparison of assemblers
释义

  1. As part of a compiler suite

  2. Single target assemblers

     6502 assemblers  680x0 assemblers  ARM assemblers  IBM mainframe assemblers  POWER, PowerPC, and Power ISA assemblers  x86 assemblers   x86-64 assemblers  

  3. Other

  4. Notes and references

  5. External links

This is a list of assemblers: computer programs that translate assembly language source code into binary programs. Some assemblers are components of a compiler system for a high level language and may have limited or no usable functionality outside of the compiler system. Some assemblers are hosted on the target processor and operating system, while other assemblers (cross-assemblers) may run under an unrelated operating system or processor. For example, assemblers for embedded systems are not usually hosted on the target system since it would not have the storage and terminal I/O to permit entry of a program from a keyboard. An assembler may have a single target processor or may have options to support multiple processor types. Very simple assemblers may lack features, such as macros, present in more powerful versions.

As part of a compiler suite

  • GNU Assembler (gas): GPL: many target instruction sets including ARM architecture, Atmel AVR, x86, x86-64, Freescale 68HC11, Freescale v4e, Motorola 680x0, MIPS, PowerPC, IBM System z, TI MSP430, Zilog Z80.
  • ASxxxx Cross Assembler (part of the Small Device C Compiler project): GPL: several target instruction sets including Intel 8051, Zilog Z80, Freescale 68HC08, PIC microcontroller.
  • The Amsterdam Compiler Kit (ACK) targets many architectures of the 1980s, including 6502, 6800, 680x0, ARM, x86, Zilog Z80 and Z8000.
  • LLVM targets many platforms, however emits no per-target assembly language, instead more high-level typed intermediate representation assembly-like language used.
  • Some others self-hosted native-targeted language implementations (like Go, Free Pascal, SBCL) have their own assemblers with multiple targets. They may be used for inline assembly inside language, or even included as a library, but not always suitable for standalone application - no command-line tool exists, or only intermediate representation used as a source, or support for targets very limited.

Single target assemblers

6502 assemblers

Assembler License Instruction set Host platform
Atari Assembler Editor {{proprietary}} MOS Technology 6502 Atari 8-bit family
Atari Macro Assembler {{proprietary}} MOS Technology 6502 Atari 8-bit family
Lisa {{proprietary}} MOS Technology 6502 Apple II series
MAC/65 {{proprietary}} MOS Technology 6502, WDC 65C02 Atari 8-bit family
Merlin {{free}} MOS Technology 6502, WDC 65C02 Apple II series
vasm {{free}} MOS Technology 6502 various
k2asm Artistic License MOS Technology 6502 Linux, Windows, macOS, possibly other Unices

680x0 assemblers

Assembler Open source License Instruction set Host platform Development active
ASM-One Macro Assembler {{no}} {{free}} Motorola 680x0 Commodore Amiga {{no}}
vasm {{no}} {{Proprietary}} Motorola 680x0 various {{yes}}

ARM assemblers

Assembler License Instruction set Host platform
GNU Assembler {{free}} ARM various
vasm {{free}} ARM various

IBM mainframe assemblers

Assembler License Instruction set Host platform
BAL {{free}} IBM System/360 IBM BPS/360
HLASM {{proprietary}} z/Architecture numerous
IBM Assembler D {{Free}} IBM System/360 IBM DOS/360
IBM Assembler E {{Free}} IBM System/360 IBM OS/360
IBM Assembler F {{Free}} IBM System/360 IBM OS/360 and CP-67/CMS
IBM Assembler H {{proprietary}} IBM System/360 and System/370 IBM OS/360 and successors
IBM Assembler XF {{Free}} IBM System/370 numerous
PL360 {{free}} IBM System/360 IBM OS/360

POWER, PowerPC, and Power ISA assemblers

Assembler License Instruction set Host platform
IBM AIX assembler {{proprietary}} POWER IBM AIX
vasm {{free}} PowerPC various

x86 assemblers

Assembler Operating system FLOSS License Development active
A86/A386 Windows, DOS {{no}} {{proprietary}} {{No}}
ACK Linux, MINIX, Unix-like {{yes}}BSD since 2003}}ACK}}
IBM ALP OS/2 {{no}} {{proprietary}} {{No}}
AT&T Unix System V {{no}} {{proprietary}}1985-?}}{{ref|ATT}}
Digital Research ASM86 CP/M-86, DOS, Intel's ISIS and iRMX {{no}} {{proprietary}}1978-1992}}
FASM Windows, DOS, Linux, Unix-like {{yes}}BSD with added Copyleft}} {{yes}}
GAS Unix-like, Windows, DOS, OS/2 {{yes}} {{GPL-lic}}Since 1987}}
HLA Windows, Linux, FreeBSD, macOS {{yes}}Public domain}} {{yes}}
Open Watcom Assembler (HJWASM a.k.a. UASM, JWASM, WASM) Windows, DOS, Linux, FreeBSD, OS/2 approved by OSI, but not by FSFSybase Open Watcom Public}} {{yes}}
MASM Windows, DOS, OS/2 {{no}}Microsoft EULA}}Since 1981}}{{ref|MASM}}
NASM Windows, Linux, macOS, DOS, OS/2 {{yes}}BSD}} {{yes}}
Tim Paterson's ASM 86-DOS, DOS DEBUG {{no}} {{proprietary}}1979-1983}}
TASM Windows, DOS {{no}} {{proprietary}}TASM1}}{{ref|TASM2}}
TCCASM Unix-like, Windows {{yes}}LGPL}} {{yes}}
vasm various {{yes}} {{free}} {{yes}}
Xenix Xenix 2.3 and 3.0 (before 1985) {{no}} {{proprietary}}1982-1984}}
Yasm Windows, DOS, Linux, Unix-like {{yes}}BSD}} {{yes}}
  1. {{Note|ACK}} Part of the MINIX 3 source tree, but without obvious development activity.
  2. {{Note|ATT}} Developed by Interactive Systems Corporation in 1986 when they ported UNIX System V to Intel iAPX286 and 80386 architectures. Archetypical of ATT syntax because it was used as reference for GAS. Still used for The SCO Group's products, UnixWare and OpenServer.
  3. {{Note|Dev86}} [https://web.archive.org/web/20101109000742/http://www.debath.co.uk/dev86/ Home site] appears inactive. Also offered as part of FreeBSD Ports, in bcc-1995.03.12.
  4. {{Note|MASM}} Active, supported, but unadvertised.
  5. {{Note|Mical}} [https://web.archive.org/web/20110726075040/http://ftp.gcu-squad.org/tuhs/Applications/Portable_CC/8086.zip Developed in 1982] at MIT as a cross-assembler, it was picked up by Interactive Systems Corporation in 1983 when they developed PC/IX under IBM contract. The syntax was later used as base for ACK assembler, to be used in MINIX 1.x toolchain.
  6. {{Note|RoAsm2}} [https://web.archive.org/web/20041127230513/http://www.rosasm.org/ RosAsm project on WebArchive.org.]
  7. {{Note|TASM1}} Part of the C++Builder Tool Chain, but not sold as a stand-alone product, or marketed since the CodeGear spin-off; Borland was still selling it until then. Version 5.0, the last, is dated 1996.
  8. {{Note|TASM2}} Turbo Assembler was developed as Turbo Editasm by Uriah Barnett from Speedware Inc (Sacramento, CA) between 1984 and 1987, then later sold to, or marketed by, Borland as their Turbo Assembler.

x86-64 assemblers

AssemblerOperating systemOpen sourceLicenseDevelopment active
FASMWindows, DOS, Unix-like{{Yes}}BSD with added Copyleft}}{{Yes}}
GASUnix-like, Windows, DOS, OS/2{{Yes}}GNU GPLv3}}{{Yes}}
MASMWindows, DOS, OS/2{{No}}Commercial}}{{Yes}}
NASMWindows, Linux, macOS, DOS, OS/2{{Yes}}BSD 2-clause}}{{Yes}}
Open Watcom AssemblerWindows, DOS, Linux, FreeBSD, OS/2{{Yes}}Sybase Open Watcom Public}}{{Yes}}
POASMWindows, Windows Mobile{{No}}Freeware}}{{Yes}}
TCCASMUnix-like, Windows{{Yes}}LGPL}}{{Yes}}
YasmWindows, DOS, Unix-like{{Yes}}BSD}}{{Yes}}

Other

Assembler License Instruction set Host platform
Assembly Language for Multics (ALM)MIT}} GE-645
Honeywell 6180
GE-645
Honeywell 6180
The Macroassembler AS {{free}} 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 (up to 68040), ColdFire, DSP56000, DSP56300, PowerPC 601/505, M-Core, 6800, 68HC11(K4), 6805, 68HC(S)08, 6809, 68HC12 incl. XGATE, 68HC16, 68RS08, SC/MP, INS807x, COP4, COP8, SC14xxx, µpD7720/7725, µpD77230, µpD78C1x, 75K0, 78K0, 78K2, 78K3, 78K4, V30/35, OLMS-40, OLMS-50, XA, 6502, (W)65(S)C02, 65C19, 80C382, 80C166/167, 2650, 8X30x, ST6, ST7, ST9, 6804, SYM53C8xx, TMS3201x, TMS320C2x, TMS320C20x, TMS320C3x, TMS320C4x, TMS320C5x, TMS320C54x, TMS320C6x, TMS7000, 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 (no longer maintained), OS/2 (no longer maintained), Linux
Babbage {{proprietary}} GEC 4000 series GEC 4000 series
COMPASS[1] {{proprietary}} CDC mainframe CDC mainframe
MACRO-10 {{free}} PDP-10 PDP-10
MACRO-11 {{Free}} PDP-11 PDP-11
vasm {{free}} Zilog Z80, Motorola 6800 family various
GPASM {{GPL-lic}} PIC microcontroller many
MIPS {{free}} MIPS MIPS
Symbolic Optimal Assembly Program (SOAP) {{proprietary}} IBM 650 IBM 650
Technical Assembly System (TASS) {{free}} IBM 650 IBM 650
Autocoder[2] {{Free}} IBM 705, 14xx, 1410, 7010, 7070, 7072, 7074, 7080 various
Fortran Assembly Program (FAP) {{Free}} IBM 709, 704x, 709x Fortran Monitor System, IBSYS
GCOS Macro Assembly Program (GMAP) {{free}} GE-600 series, Honeywell 6000 series GCOS
Macro Assembly Program (MAP) {{Free}} IBM 709, 704x, 709x IBSYS/IBJOB on 709, 704x, 709x
Meta-Symbol {{free}} SDS Sigma series BTM, UTS, CP-V
Symbolic Assembly Program (SAP) {{free}} IBM 704 IBM 704
Symbolic Programming System (SPS)[3] {{Free}} IBM 14xx, 1620, 1710 IBM 1401, 1440, 1460, 1620, 1710
ASMB, ASBL, NSBL - Numeric op codes,
used for 1900 Operating System Executive
{{proprietary}} ICL 1900 ICL 1900
GINerator mnemonic opcodes,
used for GEORGE (operating system)
{{proprietary}} ICL 1900 ICL 1900
PLAN mnemonic opcodes,
used for commercial 1900 programs
{{proprietary}} ICL 1900 ICL 1900
Single Address Assembly Language (SAAL) {{free}} UNIVAC 1005 UNIVAC 1005
Sleuth {{free}} UNIVAC 1107 EXEC, EXEC II, EXEC 8
Meta Assembler (MASM) {{free}} UNIVAC 1100/2200 series UNIVAC EXEC 8
UTMOST {{?}} UNIVAC III UNIVAC III

Notes and references

1. ^COMPASS is a family of assemblers for disparate machines.
2. ^Autocoder is actually a family of assemblers for disparate machines.
3. ^SPS is actually a family of assemblers for disparate machines.

External links

  • List of assemblers running on S100 bus hardware, including CP/M hosted assemblers for 8080 and Z80
{{X86 assembly topics}}

2 : Assemblers|Software comparisons

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/10 11:01:18