Comparison of assemblers#6502 assemblers

{{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.

As part of a compiler suite

Single target assemblers

=6502 assemblers=

class="wikitable sortable" style="font-size: 85%; text-align: center"

! 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}}

| {{dunno}}

| MOS Technology 6502

| Apple DOS 3.x

[http://k2devel.sourceforge.net/download.html k2asm]

| Andre Kaesmacher, Hauke Brandes, Börje Sieling

| {{Yes}}

| {{Free|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}}

| {{Free|Public-domain}}

| MOS Technology 6502, WDC 65C02

| Apple II

[https://juiced.gs/store/opus-ii-software/ ORCA/M]

| The Byte Works

| {{No}}

| {{Proprietary}}, Free for non-commercial use

| MOS Technology 6502, WDC 65C02, WDC 65C816

| ProDOS 8/16, GS/OS

[http://rmac.is-slick.com 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

[http://sun.hasenbraten.de/vasm/ VASM]

|Volker Barthelmann, Frank Wille

| {{No}}

| {{Free}}

| MOS Technology 6502

| various

[https://www.floodgap.com/retrotech/xa/ xa65]

| Cameron Kaiser, André Fachat

| {{Yes}}

| GPL

| MOS Technology 6502, WDC 65C02, WDC 65C816

| Linux, various

[https://github.com/pfusik/xasm XASM]

| Piotr Fusik

| {{Yes}}

| {{Free}}

| MOS Technology 6502

| Linux, Windows, macOS

=680x0 assemblers=

class="wikitable sortable" style="font-size: 85%; text-align: center"

! 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}}

[http://sun.hasenbraten.de/vasm/ VASM]

|Volker Barthelmann, Frank Wille

| {{No}}

| {{Proprietary}}

| Motorola 680x0

| various

| {{yes}}

[http://rmac.is-slick.com RMAC]

| James Hammons, George Nakos, Landon Dyer

| {{Yes}}

| {{Free}}

| Motorola 680x0, MOS Technology 6502

| Linux, Windows, macOS

| {{yes}}

=ARM assemblers=

class="wikitable sortable" style="font-size: 85%; text-align: center"

! Assembler

! Developer

! FOSS

! License

! Host platform

! ARM64

GAS

| GNU Project

| {{Yes}}

| {{GPL-lic}}

| various

| {{yes}}

TCCASM

| Fabrice Bellard

| {{Yes}}

| {{LGPL-lic}}

| Unix-like, Windows

| {{yes}}

[http://sun.hasenbraten.de/vasm/ VASM]

| Volker Barthelmann, Frank Wille

| {{No}}

| {{Free}}

| various

| {{no}}

FASMARM

| revolution, Tomasz Grysztar

| {{Yes}}

| {{Free|Simplified BSD with weak copyleft}}

| Windows, DOS, Linux, Unix-like

| {{no}}

[https://github.com/Kingcom/armips/blob/master/Readme.md ARMIPS]

| Kingcom

| {{Yes}}

| {{Free|MIT}}

| various

| {{no}}

=RISC-V assemblers=

class="wikitable sortable" style="font-size: 85%; text-align: center"

! Assembler

! Developer

! FOSS

! License

! Host platform

! RISC-V

GAS

| GNU Project

| {{Yes}}

| {{GPL-lic}}

| various

| {{yes}}

TCCASM

| Fabrice Bellard

| {{Yes}}

| {{LGPL-lic}}

| Unix-like, Windows

| {{yes}}

=Mainframe Assemblers=

class="wikitable sortable" style="font-size: 85%; text-align: center"

! Assembler

! Developer

! FOSS

! License

! Instruction set

! Host platform

Assembly Language for Multics (ALM)

|

| {{Yes}}

| {{Free|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

[https://sourceforge.net/projects/z390/ z390 Portable Mainframe Assembler]

| Don Higgins

| {{Open source|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 WaterlooModification of IBM's Assembler F

|

| {{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){{cite book |last1=Xerox Corporation |title=Xerox Assembly Program (AP) |date=1975 |url=https://www.livingcomputers.org/UI/UserDocs/CP-V/4_Xerox_Assembly_Program_Reference.pdf |access-date=June 28, 2023}}

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

class="wikitable sortable" style="font-size: 85%; text-align: center"

! Assembler

! Developer

! FOSS

! License

! Instruction set

! Host platform

GAS

| GNU Project

| {{Yes}}

| {{GPL-lic}}

| POWER, PowerPC 74xx, PowerPC 970

| All platforms supported by GNU Binutils

[https://www.audentia-gestion.fr/IBM/PDF/idalangref_pdf.pdf IBM AIX assembler]

| IBM

| {{No}}

| {{Proprietary}}

| POWER

| IBM AIX

[http://sun.hasenbraten.de/vasm/ VASM]

| Volker Barthelmann, Frank Wille

| {{No}}

| {{Free}}

| POWER, 40x, 440, 460, 6xx, 7xx, 7xxx, 860, Book-E, e300 and e500

| various

=x86 assemblers=

class="wikitable sortable" style="font-size: 85%; text-align: center"

! 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}}

| {{Free|BSD since 2003}}

| {{no}}

| 1985-? {{ref|ACK}}

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

| {{No|1985-?}}{{ref|ATT}}

Digital Research RASM-86 Relocating Assembler

| Digital Research

| CP/M-86, DOS, Intel's ISIS and iRMX

| {{No}}

| {{Proprietary}}

| {{no}}

| {{No|1978-1992}}

FASM

| Tomasz Grysztar

| Windows, DOS, Linux, Unix-like

| {{Yes}}

| {{Free|Simplified BSD with weak copyleft}}

| {{yes}}

| {{Yes}}

GAS

| GNU Project

| Unix-like, Windows, DOS, OS/2

| {{Yes}}

| {{GPL-lic}}v3

| {{yes}}

| {{Yes|Since 1987}}

HLA

| Randall Hyde

| Windows, Linux, FreeBSD, macOS

| {{Yes}}

| {{Free|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

| {{Free|Sybase Open Watcom Public}}

| {{yes}}

| {{Yes}}

MASM

| Microsoft

| Windows, DOS, OS/2

| {{No}}

| {{Proprietary|Microsoft EULA}}

| {{yes}}

| {{Yes|Since 1981}}{{ref|MASM}}

NASM

| Simon Tatham, Julian Hall, Hans Peter Anvin, et al.

| Linux, macOS, Windows, DOS, OS/2

| {{Yes}}

| {{Free|BSD}}

| {{yes}}

| {{Yes}}

[http://www.smorgasbordet.com/pellesc/ POASM]

|

| Windows, Windows Mobile

| {{No}}

| {{Proprietary|Freeware}}

| {{yes}}

| {{Yes}}

Tim Paterson's ASM

| Tim Paterson

| 86-DOS, DOS DEBUG

| {{No}}

| {{Proprietary}}

| {{no}}

| {{No|[http://www.patersontech.com/dos/manuals.aspx 1979-1983]}}

TASM

| Borland

| Windows, DOS

| {{No}}

| {{Proprietary}}

| {{no}}

| {{?}}{{ref|TASM1}}{{ref|TASM2}}

TCCASM

| Fabrice Bellard

| Unix-like, Windows

| {{Yes}}

| {{LGPL-lic}}

| {{yes}}

| {{No}}

[http://sun.hasenbraten.de/vasm/ VASM]

| Volker Barthelmann, Frank Wille

| various

| {{No}}

| {{Free}}

| {{yes}}

| {{Yes}}

[https://sourceforge.net/projects/asm-86-dos/ 86-Assembler for DOS]

| Stephen Duffy

| DOS

| {{Yes}}

| {{open source | GPL2}}

| {{no}}

| {{No}}

Xenix

| Microsoft

| Xenix 2.3 and 3.0 (before 1985)

| {{No}}

| {{Proprietary}}

| {{no}}

| {{No|1982-1984}}

[https://github.com/yasm/yasm YASM][https://yasm.tortall.net The Yasm Modular Assembler Project]

| Peter Johnson

| Windows, DOS, Linux, Unix-like

| {{Yes}}

| {{Free|BSD}}

| {{yes}}

| {{no}}{{ref|YASMnote}}

  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 a reference for GAS. Still used for The SCO Group's products, UnixWare and OpenServer.
  3. {{Note|MASM}} Active, supported, but unadvertised.
  4. {{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.
  5. {{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.
  6. {{Note|YASMnote}} Last stable version 1.3.0 was released in August 2014, and low maintenance since then: https://github.com/yasm/yasm

=Z80 assemblers=

class="wikitable sortable" style="font-size: 85%; text-align: center"

|+

!Assembler

!Developer

!Host platform

!FOSS

!License

!Development active

Microsoft MACRO-80

|Microsoft

|CP/M, ISIS-II, TRSDOS, TEKDOS, MSX-DOS

|{{No}}

|{{Proprietary|Commercial}}

|{{No}}

Zeus Assembler

|Crystal Computing

|ZX Spectrum

|{{No}}

|{{Proprietary|Commercial}}

|{{No}}

[http://savannah.nongnu.org/projects/z80asm z80asm]

|Peter Kollner, Paul Flo Williams, John Critchley, Bas Wijnen

|Unix-like, Windows

|{{Yes}}

|{{GPL-lic|GNU GPLv3}}

|{{No}}

[https://github.com/z00m128/sjasmplus sjasmplus]

|Sjoerd Mastijn, Aprisobal, Peter Helcmanovský, ...

|Unix-like, Windows

|{{Yes}}

|{{Free|BSD}}

|{{Yes}}

[https://github.com/EdouardBERGE/rasm Rasm]

|Berge Edouard

|Unix-like, Windows

|{{Yes}}

|{{Free|MIT}}

|{{Yes}}

=Other single target assemblers=

class="wikitable sortable" style="font-size: 85%; text-align: center"

! 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

[http://sun.hasenbraten.de/vasm/ VASM]

| Volker Barthelmann, Frank Wille

| {{No}}

| {{Free}}

| Zilog Z80, Motorola 6800 family

| various

GPASM

| James Bowman, Craig Franklin, David Barnett

| {{Yes}}

| {{GPL-lic}}

| PIC microcontroller

| many

MIPS

|

|

| {{Free}}

| MIPS

| MIPS

[https://rgbds.gbdev.io Rednex Game Boy Development System] (RGBDS)

|

| {{Yes}}

| {{free|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

|

|

| {{dunno}}

| UNIVAC III

| UNIVAC III

Retargetable/cross-assemblers

class="wikitable sortable" style="font-size: 85%; text-align: center"

! Assembler

! Developer

! FOSS

! License

! Instruction set

! Host platform

[http://john.ccac.rwth-aachen.de:8000/as/ 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

[https://shop-pdp.net/ashtml/asxxxx.php ASxxxx Cross Assemblers]

| Alan R. Baldwin

| {{Yes}}

| {{GPL-lic}}

| 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

{{Reflist}}