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 MOS Technology 6502 Atari 8-bit Atari Macro Assembler Shepardson Microsystems MOS Technology 6502 Atari 8-bit EDASM Apple Computer MOS Technology 6502 Apple DOS 3.x k2asm Andre Kaesmacher, Hauke Brandes, Börje Sieling MOS Technology 6502 Linux, Windows, macOS, possibly other Unices Lisa Randall Hyde MOS Technology 6502 Apple II MAC/65 Optimized Systems Software MOS Technology 6502, WDC 65C02 Atari 8-bit Merlin Glen Bredon MOS Technology 6502, WDC 65C02 Apple II ORCA/M The Byte Works , Free for non-commercial use MOS Technology 6502, WDC 65C02, WDC 65C816 ProDOS 8/16, GS/OS RMAC James Hammons, George Nakos, Landon Dyer MOS Technology 6502 Linux, Windows, macOS SynAssembler Synapse Software MOS Technology 6502 Atari 8-bit VASMVolker Barthelmann, Frank Wille MOS Technology 6502 various xa65 Cameron Kaiser, André Fachat MOS Technology 6502, WDC 65C02, WDC 65C816 Linux, various XASM Piotr Fusik 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 Motorola 680x0 Commodore Amiga GAS GNU Project Motorola 680x0 various VASMVolker Barthelmann, Frank Wille Motorola 680x0 various RMAC James Hammons, George Nakos, Landon Dyer Motorola 680x0, MOS Technology 6502 Linux, Windows, macOS
ARM assemblers Assembler Developer FOSS License Host platform ARM64 GAS GNU Project various TCCASM Fabrice Bellard Unix-like, Windows VASM Volker Barthelmann, Frank Wille various FASMARM revolution, Tomasz Grysztar Windows, DOS, Linux, Unix-like ARMIPS Kingcom various
RISC-V assemblers Assembler Developer FOSS License Host platform RISC-V GAS GNU Project various TCCASM Fabrice Bellard Unix-like, Windows
Mainframe Assemblers Assembler Developer FOSS License Instruction set Host platform Assembly Language for Multics (ALM) GE-645Honeywell 6180 GE-645Honeywell 6180 705 Autocoder IBM IBM 705 1410/7010 OS Autocoder IBM IBM 14107010 IBM 1410 Processor Operating System(1410-PR-155) 7070/7074 Autocoder IBM IBM 7070IBM 70727074 7080 Autocoder III IBM IBM 7080 IBM 7058 ProcessorCOMPASS Control Data Corporation CDC lower 3000 series CDC MASTERMSOSRTS OSSCOPECOMPASS Control Data Corporation CDC upper 3000 series CDC SCOPECOMPASS Control Data Corporation CDC 6000 series7600Cyber 70, 170 CDC KronosNOSNOS/BESCOPE Fortran Assembly Program (FAP)David E. Ferguson, Donald P. Moore IBM 709, 704x, 709x Fortran Monitor System, IBSYS GCOS Macro Assembly Program (GMAP)General Electric GE-600 series, Honeywell 6000 series GCOS Macro Assembly Program (MAP)IBM IBM 709, 704x, 709x IBSYS/IBJOB on 709, 704x, 709x Symbolic Assembly Program (SAP)United Aircraft IBM 704 IBM 704 IBM Basic Assembly Language (BAL) IBM IBM System/360 IBM BPS/360 ASSIST Penn State University Public Domain IBM System/360 MVS UNIVAC VS/9 Assembler Unisys Univac 9060 and 9070 (Similar to IBM System/370) VS/9 BS2000 Assembler H Fujitsu Fujitsu Technology Series SE (Similar to IBM System/370) BS2000 z390 Portable Mainframe Assembler Don Higgins Simulated IBM System/370 Simulated MVS IBM High-Level Assembler (HLASM) IBM IBM System/370. z/Architecture z/OS, z/VSE, z/VM IBM Assembler D IBM IBM System/360 IBM OS/360 IBM Assembler E IBM IBM System/360 IBM OS/360 IBM Assembler F IBM IBM System/360 IBM OS/360 and CP-67/CMS Assembler G University of WaterlooModification of IBM's Assembler F IBM System/360 and others (table-driven) IBM OS/360 and CP-67/CMS IBM Assembler H IBM IBM System/360 and System/370 IBM OS/360 and successors IBM Assembler XF IBM IBM System/370 numerous PL/360 Niklaus Wirth IBM System/360 IBM OS/360 Meta-Symbol Scientific Data Systems (SDS) SDS Sigma series BTM, UTS, CP-V Xerox Assembly Program (AP) Xerox Data Systems SDS Sigma series, Xerox 500 series CP-V CP-R Meta Assembler (MASM) UNIVAC UNIVAC 1100/2200 series UNIVAC EXEC 8
POWER, PowerPC, and Power ISA assemblers Assembler Developer FOSS License Instruction set Host platform GAS GNU Project POWER, PowerPC 74xx, PowerPC 970 All platforms supported by GNU Binutils IBM AIX assembler IBM POWER IBM AIX VASM Volker Barthelmann, Frank Wille 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 ACK Andrew Tanenbaum, Ceriel Jacobs Linux, MINIX, Unix-like 1985-? IBM ALP IBM OS/2 Intel ASM86 Intel DOS AT&T AT&T Unix System V Digital Research RASM-86 Relocating Assembler Digital Research CP/M-86, DOS, Intel's ISIS and iRMX EuroAssembler Pavel "vitsoft" Šrubař Windows, Linux FASM Tomasz Grysztar Windows, DOS, Linux, Unix-like GAS GNU Project Unix-like, Windows, DOS, OS/2 v3 HLA Randall Hyde Windows, Linux, FreeBSD, macOS Open Watcom Assembler(HJWASM a.k.a. UASM, JWASM, WASM) Watcom Linux, Windows, DOS, FreeBSD, OS/2 approved by OSI, but not by FSF MASM Microsoft Windows, DOS, OS/2 NASM Simon Tatham, Julian Hall, Hans Peter Anvin, et al. Linux, macOS, Windows, DOS, OS/2 POASM Windows, Windows Mobile Tim Paterson's ASM Tim Paterson 86-DOS, DOS DEBUG TASM Borland Windows, DOS TCCASM Fabrice Bellard Unix-like, Windows VASM Volker Barthelmann, Frank Wille various 86-Assembler for DOS Stephen Duffy DOS Xenix Microsoft Xenix 2.3 and 3.0 (before 1985) YasmThe Yasm Modular Assembler Project Peter Johnson Windows, DOS, Linux, Unix-like SASM (Small Assembler)IntihaCompiled on Linux Tested on WindowsGPL v3 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 +AssemblerDeveloperHost platformFOSSLicenseDevelopment activeMicrosoft MACRO-80MicrosoftCP/M, ISIS-II, TRSDOS, TEKDOS, MSX-DOSZeus AssemblerCrystal ComputingZX Spectrumz80asmPeter Kollner, Paul Flo Williams, John Critchley, Bas WijnenUnix-like, WindowsPasmoJulián AlboUnix-like, WindowssjasmplusSjoerd Mastijn, Aprisobal, Peter Helcmanovský, ...Unix-like, WindowsRasmBerge EdouardUnix-like, Windows
Other single target assemblers Assembler Developer FOSS License Instruction set Host platform Autocoder IBM IBM 1401, 1440, 1460 IBM 1401, 1440, 1460 Autocoder IBM IBM 1410, 7010 1410/7010 Operating System(1410-PR-155) Babbage GEC 4000 series GEC 4000 series City & Guilds Mnemonic Code City and Guilds of London Institute City & Guilds Computer ICL 1900, Elliot 900 MACRO-10 Digital Equipment Corporation PDP-10 PDP-10 MACRO-11 Digital Equipment Corporation PDP-11 PDP-11 VAX MACRO Digital Equipment Corporation VAX, Alpha OpenVMS VASM Volker Barthelmann, Frank Wille Zilog Z80, Motorola 6800 family various GPASM James Bowman, Craig Franklin, David Barnett PIC microcontroller many MIPS MIPS MIPS Rednex Game Boy Development System (RGBDS) Game Boy, Game Boy Color many Symbolic Optimal Assembly Program (SOAP) IBM IBM 650 IBM 650 Technical Assembly System (TASS) IBM 650 IBM 650 Symbolic Programming System (SPS) Gary Mokotoff IBM 14xx IBM 1401, 1440, 1460 Symbolic Programming System (SPS) IBM 1620, 1710 IBM 1620, 1710 ASMB, ASBL, NSBL - Numeric op codes,used for 1900 Operating System Executive ICL 1900 ICL 1900 GINerator mnemonic opcodes,used for GEORGE (operating system) ICL 1900 ICL 1900 PLAN mnemonic opcodes,used for commercial 1900 programs ICL 1900 ICL 1900 Single Address Assembly Language (SAAL) UNIVAC 1005 UNIVAC 1005 Sleuth UNIVAC 1107 EXEC, EXEC II, EXEC 8 Meta Assembler (MASM) 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 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 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 List of assemblers running on S100 bus hardware, including CP/M hosted assemblers for 8080 and Z80