From Wikipedia, the free encyclopedia
This is a list of assemblers: computer programs that translate ("assemble") assembly language source code into binary programs.
As part of a compiler suite
GNU Assembler (gas): GPL: many target instruction sets including ARM architecture , Atmel AVR , x86 , 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 there's no per-target assembly language, instead more high-level typed intermediate representation assembly-like language used.
Some others self-hosted native-targeted language implemetations (like Golang , 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 - there's no command-line tool, 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
64tass
GPL
MOS Technology 6502 , WDC 65C02 , WDC 65816/65802
various
ACME
GPL
MOS Technology 6502 , WDC 65C02 , WDC 65816/65802
various
AS65
Proprietary
MOS Technology 6502 , WDC 65C02 , WDC 65816/65802
various
ASM6
Public domain
MOS Technology 6502
various
ATASM
GPL
MOS Technology 6502
various
Atari Assembler Editor
Proprietary
MOS Technology 6502
Atari 8-bit family
Atari Macro Assembler
Proprietary
MOS Technology 6502
Atari 8-bit family
C64List
Proprietary
MOS Technology 6502
Commodore 64
CA65
GPL
MOS Technology 6502 , WDC 65C02 , WDC 65816/65802
various
dasm
GPL
MOS Technology 6502 , others
various
dreamass
GPL
MOS Technology 6502 , WDC 65816/65802
various
French Silk
Proprietary
MOS Technology 6502
Commodore 64
Kick Assembler
Proprietary
MOS Technology 6502
various
Lisa
Proprietary
MOS Technology 6502
Apple II series
MAC/65
Proprietary
MOS Technology 6502 , WDC 65C02
Atari 8-bit family
Macross
MIT License
MOS Technology 6502
various
MADS
Public domain
MOS Technology 6502 , WDC 65816/65802
various
MAE
Unknown
MOS Technology 6502 , WDC 65C02 , WDC 65816/65802
Atari 8-bit family
Magic ASM
unknown
HuC6280
MS-DOS
Merlin
Proprietary
MOS Technology 6502 , WDC 65C02 , WDC 65816/65802
Apple II series , Commodore 64 , Commodore 128
MOSASM
GPL
MOS Technology 6502
various
NESASM
unknown
Ricoh 2A03
MS-DOS
Ophis
MIT License
MOS Technology 6502 , WDC 65C02 , MOS Technology 4502/4510 (experimental)
various
ORCA/M
Proprietary
MOS Technology 6502 , WDC 65C02
Apple II series
S-C Assembler II
Proprietary
MOS Technology 6502
Apple II
TMPx
Proprietary
MOS Technology 6502
various
vasm
Free
MOS Technology 6502
various
VISUAL6502
GPL
MOS Technology 6502
various
WLA DX
GPL
MOS Technology 6502 , others
various
XA65
GPL
MOS Technology 6502 , others
various
XASM
Public domain
MOS Technology 6502
various
680x0 assemblers
ARM assemblers
IBM mainframe assemblers
Power Architecture assemblers
x86 assemblers
Assembler
Operating system
Open source
License
x86-64
Active development
A86/A386
Windows , DOS
No
Proprietary
No
No
ACK
Linux , Minix , Unix-like
Yes
BSD since 2003
No
1985-? [1]
Arrowsoft Assembler
DOS
No
Public Domain
No
No
IBM ALP
OS/2
No
Proprietary
No
No
AT&T
Unix System V
No
Proprietary
No
1985-?[2]
Bruce D. Evans ' as86
Minix 1.x, 16-bit part in Linux
Yes
GPL
No
1988-2001[3]
Digital Research ASM86
CP/M-86 , DOS , Intel 's ISIS and iRMX
No
Proprietary
No
1978-1992
DevelSoftware Assembler
Windows , Linux , Unix-like
No
Free
Listed, N/A
No
FASM
Windows , DOS , Linux , Unix-like
Yes
BSD with added Copyleft
Yes
Yes
GAS
Unix-like , Windows , DOS , OS/2
Yes
GPL
Yes
Since 1987
GoAsm
Windows
No
Free
Yes
Yes
HLA
Windows , Linux , FreeBSD , OS X
Yes
Public domain
No
Yes
HJWASM/JWASM/WASM
Windows , DOS , Linux , FreeBSD , OS/2
Yes
Sybase Open Watcom Public License
Yes
Yes
LZASM
Windows , DOS
No
Free
No
No
MASM
Windows , DOS , OS/2
No
Microsoft EULA
Yes
Since 1981[4]
Mical a86
Unix , DOS , PC/IX
Yes
?
No
1982-1984[5]
NASM
Windows , Linux , OS X , DOS , OS/2
Yes
BSD
Yes
Yes
Tim Paterson 's ASM
86-DOS , DOS DEBUG
No
Proprietary
No
1979-1983
POASM
Windows , Windows Mobile
No
Free
Yes
Yes
RosAsm
Windows
Yes
GPL
No
No[6]
SLR's OPTASM
DOS
No
Proprietary
No
No
TASM
Windows , DOS
No
Proprietary
No
?[7] [8]
TCCASM
Unix-like , Windows
Yes
LGPL
Yes
Yes
vasm
various
Yes
Free
No
Yes
Xenix
Xenix 2.3 and 3.0 (before 1985)
No
Proprietary
No
1982-1984
Yasm
Windows , DOS , Linux , Unix-like
Yes
BSD
Yes
Yes
Liquid[citation needed ]
Windows , DOS
No
Proprietary
Yes
Yes
^ Part of the Minix 3 source tree, but without obvious development activity . The full source history is available .
^ Developed by Interactive in 1986 when they ported 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 .
^ Home site does not appear active any more. Also offered as part of FreeBSD Ports , in bcc-1995.03.12 .
^ Active and supported, but not advertised.
^ Developed in 1982 at MIT as a cross-assembler, it was picked up by Interactive 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.
^ RosAsm project on WebArchive.org.
^ 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. It was later sold to (or marketed by) Borland as their Turbo Assembler.
Other
Assembler
License
Instruction set
Host platform
ALM (Assembly Language for Multics )
MIT License
GE-645 Honeywell 6180
GE-645 Honeywell 6180
Babbage
Proprietary
GEC 4000 series
GEC 4000 series
COMPASS [ 1]
Proprietary
CDC mainframe
CDC mainframe
MACRO-10
Free
PDP-10
PDP-10
MACRO-11
Unknown
PDP-11
PDP-11
MACRO-32
Unknown
VAX
VAX
PASMO
GPL
Zilog Z80
numerous
SUPERAS
Public domain
Hitachi SH2
Win32
vasm
Free
Zilog Z80 , Motorola 6800 family
various
MRS
GPL
Zilog Z80 , 8080
ZX Spectrum , PMD-85
ASEM-51
Free
8051
Embedded Systems
GPASM
GPL
PIC microcontroller
many
ID3E
Free for academic use
SC123
SC123 emulator
MIPS
Free
MIPS instruction set
MIPS instruction set
Symbolic Optimal Assembly Program (SOAP)
Proprietary
IBM 650
IBM 650
MPW IIgs Assembler
Proprietary
WD 65C816
Apple IIgs
Meta-Symbol
Free
SDS/XDS Sigma systems
SDS/XDS Sigma systems
Autocoder [ 2]
Free
IBM 705 , 14xx , 1410 , 7010 , 7070 , 7072 , 7074 , 7080
various
Fortran Assembly Program (FAP)
Free
IBM 709 , 704x , 709x
various
Macro Assembly Program (MAP)
Free
IBM 709 , 704x , 709x
various
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
UTMOST
Unknown
UNIVAC III
UNIVAC III
Notes and references
^ COMPASS is a family of assemblers for disparate machines.
^ AUTOCODER is actually a family of assemblers for disparate machines.
^ SPS is actually a family of assemblers for disparate machines.
x86 assembly topics
Topics Assemblers Programming issues