Comparison of assemblers

This article possibly contains original research. Please improve it by verifying the claims made and adding inline citations. Statements consisting only of original research should be removed. (April 2026) (Learn how and when to remove this template message)

|

This article or section possibly contains synthesis of material which does not verifiably mention or relate to the main topic. (April 2026) (Learn how and when to remove this template message)

|

Short description: None

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.

## Contents

* 1 As part of a compiler suite
* 2 Single target assemblers
* 2.1 6502 assemblers
* 2.2 680x0 assemblers
* 2.3 ARM assemblers
* 2.4 RISC-V assemblers
* 2.5 Mainframe Assemblers
* 2.6 POWER, PowerPC, and Power ISA assemblers
* 2.7 x86 assemblers
* 2.8 Z80 assemblers
* 2.9 Other single target assemblers
* 3 Retargetable/cross-assemblers
* 4 Notes and references
* 5 External links

## 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

Assembler  | Developer  | FOSS | License | Instruction set  | Host platform | Development active

|
|
|
|
|
|

ASM-One Macro Assembler  | Rune Gram-Madsen  | No  | Free  | Motorola 680x0 | Commodore Amiga | No
GAS | GNU Project | Yes  | Free  | Motorola 680x0 | various  | Yes
VASM | Volker Barthelmann, Frank Wille  | No  | Proprietary | Motorola 680x0 | various  | Yes
RMAC | James Hammons, George Nakos, Landon Dyer  | Yes  | Free  | Motorola 680x0, MOS Technology 6502  | Linux, Windows, macOS | Yes

### ARM assemblers

Assembler  | Developer  | FOSS | License | Host platform | ARM64

|
|
|
|
|

GAS | GNU Project | Yes  | GNU GPL | various  | Yes
TCCASM | Fabrice Bellard  | Yes  | GNU LGPL | Unix-like, Windows | Yes
VASM | Volker Barthelmann, Frank Wille  | No  | Free  | various  | No
FASMARM | revolution, Tomasz Grysztar  | Yes  | Simplified BSD with weak copyleft  | Windows, DOS, Linux, Unix-like | No
ARMIPS | Kingcom  | Yes  | MIT | various  | No

### RISC-V assemblers

Assembler  | Developer  | FOSS | License | Host platform | RISC-V

|
|
|
|
|

GAS | GNU Project | Yes  | GNU GPL | various  | Yes
TCCASM | Fabrice Bellard  | Yes  | GNU LGPL | Unix-like, Windows | Yes

### 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 OS
SCOPE
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/BE
SCOPE
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 | N/A  | 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 | N/A  | 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
EuroAssembler  | Pavel "vitsoft" Šrubař  | Windows, Linux | Yes  | Freeware | Yes  | Yes
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 GPLv3  | 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]
SASM (Small Assembler) | Intiha | Compiled on Linux

Tested on Windows

| Yes  | GPL v3 | Yes  | No

1. ^ Part of the MINIX 3 source tree, but without obvious development activity.
2. ^ 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.
3. ^ Active, supported, but unadvertised.
4. ^ 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.
5. ^ 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.
6. ^ 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
Pasmo | Julián Albo  | 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

1. ↑ Modification of IBM's Assembler F
2. ↑ Xerox Corporation (1975). Xerox Assembly Program (AP). https://www.livingcomputers.org/UI/UserDocs/CP-V/4_Xerox_Assembly_Program_Reference.pdf. Retrieved June 28, 2023.
3. ↑ The Yasm Modular Assembler Project

## External links

* List of assemblers running on S100 bus hardware, including CP/M hosted assemblers for 8080 and Z80

* v
* t
* e

x86 assembly topics

Topics|

* Assembly language
* Comparison of assemblers
* Disassembler
* Instruction set
* Low-level programming language
* Machine code
* Microassembler
* x86 assembly language

Assemblers|

* A86/A386
* Flat Assembler (FASM)
* GNU Assembler (GAS)
* High Level Assembly (HLA)
* Microsoft Macro Assembler (MASM)
* Netwide Assembler (NASM)
* Turbo Assembler (TASM)
* Open Watcom Assembler (WASM)

Programming
issues|

* Call stack
* Flags
* Carry flag
* Direction flag
* Interrupt flag
* Overflow flag
* Zero flag
* Opcode
* Program counter
* Processor register
* Calling conventions
* Instruction listings
* Registers

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Comparison of assemblers. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:Comparison_of_assemblers&oldid=4528949"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template