This is an incomplete comparison of assemblers . Some assemblers are components of a compiler system for a high-level programming 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.
As part of a compiler suite
GNU Assembler (GAS): GPL: many target instruction sets, including ARM architecture , Atmel AVR , x86 , x86-64 , RISC-V , Freescale 68HC11 , Freescale v4e , Motorola 680x0 , MIPS , PowerPC , IBM System z , TI MSP430 , Zilog Z80 .
SDAS (fork of ASxxxx Cross Assemblers and 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 its main focus is not machine-dependent code generation; instead a more high-level typed assembly-like intermediate representation is used. Nevertheless for the most common targets the LLVM MC (machine code) project provides an assembler both as an integrated component of the compilers and as an external tool.
Some other 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 the language, or even included as a library, but aren't always suitable for being used outside of their framework - no command-line tool exists, or only the intermediate representation can be used as their input, or the set of supported targets is very limited.
Single target assemblers
6502 assemblers
Assembler
Developer
FOSS
License
Instruction set
Host platform
Atari Assembler Editor
Shepardson Microsystems
No
Proprietary
MOS Technology 6502
Atari 8-bit
Atari Macro Assembler
Shepardson Microsystems
No
Proprietary
MOS Technology 6502
Atari 8-bit
EDASM
Apple Computer
No
?
MOS Technology 6502
Apple DOS 3.x
k2asm
Andre Kaesmacher, Hauke Brandes, Börje Sieling
Yes
Artistic License
MOS Technology 6502
Linux , Windows , macOS , possibly other Unices
Lisa
Randall Hyde
No
Proprietary
MOS Technology 6502
Apple II
MAC/65
Optimized Systems Software
No
Proprietary
MOS Technology 6502 , WDC 65C02
Atari 8-bit
Merlin
Glen Bredon
Yes
Public-domain
MOS Technology 6502 , WDC 65C02
Apple II
ORCA/M
The Byte Works
No
Proprietary , Free for non-commercial use
MOS Technology 6502 , WDC 65C02 , WDC 65C816
ProDOS 8/16 , GS/OS
RMAC
James Hammons, George Nakos, Landon Dyer
Yes
Free
MOS Technology 6502
Linux , Windows , macOS
SynAssembler
Synapse Software
No
Proprietary
MOS Technology 6502
Atari 8-bit
VASM
Volker Barthelmann, Frank Wille
No
Free
MOS Technology 6502
various
xa65
Cameron Kaiser, André Fachat
Yes
GPL
MOS Technology 6502 , WDC 65C02 , WDC 65C816
Linux , various
XASM
Piotr Fusik
Yes
Free
MOS Technology 6502
Linux , Windows , macOS
680x0 assemblers
ARM assemblers
RISC-V assemblers
Mainframe Assemblers
Assembler
Developer
FOSS
License
Instruction set
Host platform
Assembly Language for Multics (ALM)
Yes
MIT
GE-645 Honeywell 6180
GE-645 Honeywell 6180
705 Autocoder
IBM
Free
IBM 705
1410/7010 OS Autocoder
IBM
Free
IBM 1410 7010
IBM 1410 Processor Operating System (1410-PR-155)
7070/7074 Autocoder
IBM
Free
IBM 7070 IBM 7072 7074
7080 Autocoder III
IBM
Free
IBM 7080
IBM 7058 Processor
COMPASS
Control Data Corporation
Free
CDC lower 3000 series
CDC MASTER MSOS RTS OSSCOPE
COMPASS
Control Data Corporation
Free
CDC upper 3000 series
CDC SCOPE
COMPASS
Control Data Corporation
Free
CDC 6000 series 7600 Cyber 70, 170
CDC Kronos NOS NOS/BESCOPE
Fortran Assembly Program (FAP)
David E. Ferguson, Donald P. Moore
Free
IBM 709 , 704x , 709x
Fortran Monitor System , IBSYS
GCOS Macro Assembly Program (GMAP)
General Electric
Free
GE-600 series , Honeywell 6000 series
GCOS
Macro Assembly Program (MAP)
IBM
Free
IBM 709 , 704x , 709x
IBSYS /IBJOB on 709, 704x, 709x
Symbolic Assembly Program (SAP)
United Aircraft
Free
IBM 704
IBM 704
IBM Basic Assembly Language (BAL)
IBM
Free
IBM System/360
IBM BPS/360
ASSIST
Penn State University
Public Domain
Free
IBM System/360
MVS
UNIVAC VS/9 Assembler
Unisys
Proprietary
Univac 9060 and 9070 (Similar to IBM System/370)
VS/9
BS2000 Assembler H
Fujitsu
Proprietary
Fujitsu Technology Series SE (Similar to IBM System/370)
BS2000
z390 Portable Mainframe Assembler
Don Higgins
GPL
Free
Simulated IBM System/370
Simulated MVS
IBM High-Level Assembler (HLASM)
IBM
—
Proprietary
IBM System/370 . z/Architecture
z/OS , z/VSE , z/VM
IBM Assembler D
IBM
Free
IBM System/360
IBM OS/360
IBM Assembler E
IBM
Free
IBM System/360
IBM OS/360
IBM Assembler F
IBM
Free
IBM System/360
IBM OS/360 and CP-67/CMS
Assembler G
University of Waterloo [ 1]
Free
IBM System/360 and others (table-driven)
IBM OS/360 and CP-67/CMS
IBM Assembler H
IBM
—
Proprietary
IBM System/360 and System/370
IBM OS/360 and successors
IBM Assembler XF
IBM
Free
IBM System/370
numerous
PL/360
Niklaus Wirth
Yes
Free
IBM System/360
IBM OS/360
Meta-Symbol
Scientific Data Systems (SDS)
Free
SDS Sigma series
BTM, UTS , CP-V
Xerox Assembly Program (AP)[ 2]
Xerox Data Systems
Free
SDS Sigma series , Xerox 500 series
CP-V CP-R
Meta Assembler (MASM)
UNIVAC
Free
UNIVAC 1100/2200 series
UNIVAC EXEC 8
POWER, PowerPC, and Power ISA assemblers
Assembler
Developer
FOSS
License
Instruction set
Host platform
GAS
GNU Project
Yes
GNU GPL
POWER , PowerPC 74xx , PowerPC 970
All platforms supported by GNU Binutils
IBM AIX assembler
IBM
No
Proprietary
POWER
IBM AIX
VASM
Volker Barthelmann, Frank Wille
No
Free
POWER , 40x, 440, 460, 6xx, 7xx, 7xxx, 860, Book-E, e300 and e500
various
x86 assemblers
Assembler
Developer
Host platform
FOSS
License
x86-64
Development active
A86/A386
Eric Isaacson
Windows , DOS
No
Proprietary
No
No
ACK
Andrew Tanenbaum , Ceriel Jacobs
Linux , MINIX , Unix-like
Yes
BSD since 2003
No
1985-? [1]
IBM ALP
IBM
OS/2
No
Proprietary
No
No
Intel ASM86
Intel
DOS
No
Proprietary
No
No
AT&T
AT&T
Unix System V
No
Proprietary
No
1985-?[2]
Digital Research RASM-86 Relocating Assembler
Digital Research
CP/M-86 , DOS , Intel 's ISIS and iRMX
No
Proprietary
No
1978-1992
FASM
Tomasz Grysztar
Windows , DOS , Linux , Unix-like
Yes
Simplified BSD with weak copyleft
Yes
Yes
GAS
GNU Project
Unix-like , Windows , DOS , OS/2
Yes
GNU GPLv 3
Yes
Since 1987
HLA
Randall Hyde
Windows , Linux , FreeBSD , macOS
Yes
Public domain
No
No
Open Watcom Assembler (HJWASM a.k.a. UASM, JWASM, WASM)
Watcom
Linux , Windows , DOS , FreeBSD , OS/2
approved by OSI , but not by FSF
Sybase Open Watcom Public
Yes
Yes
MASM
Microsoft
Windows , DOS , OS/2
No
Microsoft EULA
Yes
Since 1981[3]
NASM
Simon Tatham , Julian Hall, Hans Peter Anvin , et al.
Linux , macOS , Windows , DOS , OS/2
Yes
BSD
Yes
Yes
POASM
Windows , Windows Mobile
No
Freeware
Yes
Yes
Tim Paterson 's ASM
Tim Paterson
86-DOS , DOS DEBUG
No
Proprietary
No
1979-1983
TASM
Borland
Windows , DOS
No
Proprietary
No
? [4] [5]
TCCASM
Fabrice Bellard
Unix-like , Windows
Yes
GNU LGPL
Yes
No
VASM
Volker Barthelmann, Frank Wille
various
No
Free
Yes
Yes
86-Assembler for DOS
Stephen Duffy
DOS
Yes
GPL2
No
No
Xenix
Microsoft
Xenix 2.3 and 3.0 (before 1985)
No
Proprietary
No
1982-1984
YASM [ 3]
Peter Johnson
Windows , DOS , Linux , Unix-like
Yes
BSD
Yes
No[6]
^ Part of the MINIX 3 source tree, but without obvious development activity.
^ 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 a reference for GAS. Still used for The SCO Group 's products, UnixWare and OpenServer .
^ Active, supported, but unadvertised.
^ 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.
^ 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.
^ Last stable version 1.3.0 was released in August 2014, and low maintenance since then: https://github.com/yasm/yasm
Z80 assemblers
Assembler
Developer
Host platform
FOSS
License
Development active
Microsoft MACRO-80
Microsoft
CP/M , ISIS-II , TRSDOS , TEKDOS , MSX-DOS
No
Commercial
No
Zeus Assembler
Crystal Computing
ZX Spectrum
No
Commercial
No
z80asm
Peter Kollner, Paul Flo Williams, John Critchley, Bas Wijnen
Unix-like , Windows
Yes
GNU GPL
No
sjasmplus
Sjoerd Mastijn, Aprisobal, Peter Helcmanovský, ...
Unix-like , Windows
Yes
BSD
Yes
Rasm
Berge Edouard
Unix-like , Windows
Yes
MIT
Yes
Other single target assemblers
Assembler
Developer
FOSS
License
Instruction set
Host platform
Autocoder
IBM
Free
IBM 1401, 1440, 1460
IBM 1401, 1440, 1460
Autocoder
IBM
Free
IBM 1410 , 7010
1410/7010 Operating System (1410-PR-155)
Babbage
No
Proprietary
GEC 4000 series
GEC 4000 series
City & Guilds Mnemonic Code
City and Guilds of London Institute
No
?
City & Guilds Computer
ICL 1900 , Elliot 900
MACRO-10
Digital Equipment Corporation
Free
PDP-10
PDP-10
MACRO-11
Digital Equipment Corporation
Free
PDP-11
PDP-11
VAX MACRO
Digital Equipment Corporation
Proprietary
VAX , Alpha
OpenVMS
VASM
Volker Barthelmann, Frank Wille
No
Free
Zilog Z80 , Motorola 6800 family
various
GPASM
James Bowman, Craig Franklin, David Barnett
Yes
GNU GPL
PIC microcontroller
many
MIPS
Free
MIPS
MIPS
Rednex Game Boy Development System (RGBDS)
Yes
MIT License
Game Boy , Game Boy Color
many
Symbolic Optimal Assembly Program (SOAP)
IBM
Free
IBM 650
IBM 650
Technical Assembly System (TASS)
Free
IBM 650
IBM 650
Symbolic Programming System (SPS)
Gary Mokotoff
Free
IBM 14xx
IBM 1401, 1440, 1460
Symbolic Programming System (SPS)
Free
IBM 1620 , 1710
IBM 1620, 1710
ASMB, ASBL, NSBL - Numeric op codes, used for 1900 Operating System Executive
No
Proprietary
ICL 1900
ICL 1900
GINerator mnemonic opcodes, used for GEORGE (operating system)
No
Proprietary
ICL 1900
ICL 1900
PLAN mnemonic opcodes, used for commercial 1900 programs
No
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
Retargetable/cross-assemblers
Assembler
Developer
FOSS
License
Instruction set
Host platform
The Macroassembler AS
Alfred Arnold
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, [
Win32 , DOS/DPMI, DOS (no longer maintained), OS/2 (no longer maintained), Linux
ASxxxx Cross Assemblers
Alan R. Baldwin
Yes
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), and Z280 series
Win32 , DOS , Linux , Android
Notes and references
External links
x86 assembly topics
Topics Assemblers Programming issues