Comparison of assemblers

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

680x0 assemblers

ARM assemblers

RISC-V assemblers

Mainframe Assemblers

POWER, PowerPC, and Power ISA assemblers

x86 assemblers

  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

Other single target assemblers

Retargetable/cross-assemblers

Notes and references

Uses material from the Wikipedia article Comparison of assemblers, released under the CC BY-SA 4.0 license.