Suvarna Garge (Editor)

Comparison of assemblers

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

This is a list of assemblers: computer programs that translate (assembler) assembly language source code into binary programs.

Contents

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 emits no per-target assembly language, instead more high-level typed intermediate representation assembly-like language used.
  • Some others self-hosted native-targeted language implementations (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 - no command-line tool exists, or only intermediate representation used as a source, or support for targets very limited.
  • x86 assemblers

    1. ^ Part of the MINIX 3 source tree, but without obvious development activity. The full source history is available.
    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 reference for GAS. Still used for The SCO Group's products, UnixWare and OpenServer.
    3. ^ Home site appears inactive. Also offered as part of FreeBSD Ports, in bcc-1995.03.12.
    4. ^ Active, supported, but unadvertised.
    5. ^ Developed in 1982 at MIT as a cross-assembler, it was picked up by Interactive Systems Corporation 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.
    6. ^ RosAsm project on WebArchive.org.
    7. ^ 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.
    8. ^ 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.

    References

    Comparison of assemblers Wikipedia