Esta es una lista de ensambladores: programas de computadora que traducen código fuente en lenguaje ensamblador a programas binarios. Algunos ensambladores son componentes de un sistema de compilación para un lenguaje de alto nivel y pueden tener una funcionalidad limitada o nula fuera del sistema de compilación. Algunos ensambladores se alojan en el procesador y el sistema operativo de destino, mientras que otros ensambladores (ensambladores cruzados) pueden ejecutarse en un sistema operativo o procesador no relacionado. Por ejemplo, ensambladores para sistemas integradosno suelen estar alojados en el sistema de destino, ya que no tendría el almacenamiento y E / S de terminal para permitir la entrada de un programa desde un teclado. Un ensamblador puede tener un solo procesador de destino o puede tener opciones para admitir múltiples tipos de procesadores. Los ensambladores muy simples pueden carecer de características, como macros , presentes en versiones más potentes.
Como parte de un conjunto de compiladores
- Ensamblador GNU (gas): GPL: muchos conjuntos de instrucciones de destino, incluida la arquitectura ARM , Atmel AVR , x86 , x86-64 , Freescale 68HC11 , Freescale v4e , Motorola 680x0 , MIPS , PowerPC , IBM System z , TI MSP430 , Zilog Z80 .
- ASxxxx Cross Assembler (parte del proyecto Small Device C Compiler ): GPL: varios conjuntos de instrucciones de destino, incluidos Intel 8051 , Zilog Z80 , Freescale 68HC08 , microcontrolador PIC .
- El Amsterdam Compiler Kit (ACK) se dirige a muchas arquitecturas de la década de 1980, incluidas 6502 , 6800 , 680x0 , ARM , x86 , Zilog Z80 y Z8000 .
- LLVM se dirige a muchas plataformas, sin embargo, no emite un lenguaje ensamblador por destino, sino que se utiliza más lenguaje ensamblador de representación intermedia tipado de alto nivel .
- Algunos otros auto-organizada implementaciones de lenguajes orientados nativos (como Go , Free Pascal , SBCL ) tienen sus propios montadores con múltiples objetivos. Pueden usarse para ensamblaje en línea dentro del lenguaje, o incluso incluirse como una biblioteca, pero no siempre son adecuados para aplicaciones independientes: no existe una herramienta de línea de comandos, o solo se usa una representación intermedia como fuente, o el soporte para objetivos es muy limitado.
Ensambladores de un solo objetivo
6502 ensambladores
Ensamblador | Desarrollador | FOSS | Licencia | Conjunto de instrucciones | Plataforma de host |
---|---|---|---|---|---|
Editor de ensamblador de Atari | Microsistemas Shepardson | No | Propiedad | Tecnología MOS 6502 | Familia Atari de 8 bits |
Ensamblador de macros Atari | Microsistemas Shepardson | No | Propiedad | Tecnología MOS 6502 | Familia Atari de 8 bits |
Lisa | Randall Hyde | No | Propiedad | Tecnología MOS 6502 | Serie de Apple II |
MAC / 65 | Software de sistemas optimizados | No | Propiedad | Tecnología MOS 6502 , WDC 65C02 | Familia Atari de 8 bits |
Esmerejón | Glen Bredon | sí | Dominio publico | Tecnología MOS 6502 , WDC 65C02 | Serie de Apple II |
vasm | Volker Barthelmann, Frank Wille | Libre | Tecnología MOS 6502 | varios | |
k2asm | Andre Kaesmacher, Hauke Brandes, Börje Sieling | sí | Licencia Artística | Tecnología MOS 6502 | Linux , Windows , macOS , posiblemente otros Unices |
rmac | James Hammons, George Nakos y Landon Dyer | sí | Libre | Tecnología MOS 6502 | Linux , Windows , macOS |
xasm | Piotr Fusik | sí | Libre | Tecnología MOS 6502 | Linux , Windows , macOS |
Ensambladores 680x0
Ensamblador | Desarrollador | FOSS | Licencia | Conjunto de instrucciones | Plataforma de host | Desarrollo activo |
---|---|---|---|---|---|---|
Ensamblador de macros ASM-One | Runa Gram-Madsen | No | Libre | Motorola 680x0 | Comodoro Amiga | No |
Ensamblador GNU | Proyecto GNU | sí | Libre | Motorola 680x0 | varios | |
vasm | Volker Barthelmann, Frank Wille | No | Propiedad | Motorola 680x0 | varios | sí |
rmac | James Hammons, George Nakos y Landon Dyer | sí | Libre | Tecnología MOS 6502 | Linux , Windows , macOS | sí |
Ensambladores ARM
Ensamblador | Desarrollador | FOSS | Licencia | Conjunto de instrucciones | Plataforma de host |
---|---|---|---|---|---|
Ensamblador GNU | Proyecto GNU | sí | Libre | BRAZO | varios |
vasm | Libre | BRAZO | varios |
Ensambladores de mainframe de IBM
Ensamblador | Desarrollador | FOSS | Licencia | Conjunto de instrucciones | Plataforma de host |
---|---|---|---|---|---|
Codificador automático del sistema operativo IBM 1410/7010 | IBM | Libre | IBM 1410 IBM 7010 | Sistema operativo IBM 1410/7010 | |
7070/7074 Autocoder | IBM | Libre | IBM 7070/7072/7074 | ||
7080 Autocoder III | IBM | Libre | IBM 7080 | Procesador IBM 7058 | |
Técnica de ensamblaje y codificación simbólica (SCAT) | Cuota | Libre | IBM 709 7090/7094/7094 II | COMPARTIR el sistema operativo (SOS) | |
Programa de montaje de FORTRAN II (FAP) | IBM | Libre | IBM 709 7090/7094/7094 II | IBM 7090/94 IBSYS | |
Programa de macro ensamblaje (MAP) | IBM | Libre | IBM 709 IBM 7040/7044 7090/7094/7094 II | IBM IBSYS / IBJOB | |
BAL | Libre | IBM System / 360 | IBM BPS / 360 | ||
HLASM | Propiedad | z / Arquitectura | numeroso | ||
Ensamblador D de IBM | Libre | IBM System / 360 | IBM DOS / 360 | ||
Ensamblador de IBM E | Libre | IBM System / 360 | IBM OS / 360 | ||
Ensamblador F de IBM | Libre | IBM System / 360 | IBM OS / 360 y CP-67 / CMS | ||
Ensamblador IBM H | Propiedad | IBM System / 360 y System / 370 | IBM OS / 360 y sucesores | ||
IBM Assembler XF | Libre | IBM System / 370 | numeroso | ||
PL360 | Libre | IBM System / 360 | IBM OS / 360 |
Ensambladores POWER, PowerPC y Power ISA
Ensamblador | Desarrollador | FOSS | Licencia | Conjunto de instrucciones | Plataforma de host |
---|---|---|---|---|---|
Ensamblador IBM AIX | No | Propiedad | ENERGÍA | IBM AIX | |
vasm | Libre | PowerPC | varios |
ensambladores x86
Ensamblador | Desarrollador | Sistema operativo | FOSS | Licencia | Desarrollo activo |
---|---|---|---|---|---|
A86 / A386 | Eric Isaacson | Windows , DOS | No | Propiedad | No |
ACK | Andrew Tanenbaum y Ceriel Jacobs | Linux , MINIX , similar a Unix | sí | BSD desde 2003 | 1985-? [1] |
IBM ALP | IBM | OS / 2 | No | Propiedad | No |
AT&T | AT&T | Sistema Unix V | No | Propiedad | 1985-? [2] |
Investigación digital ASM86 | Investigación digital | CP / M-86 , DOS , Intel 's ISIS y iRMX | No | Propiedad | 1978-1992 |
FASM | Tomasz Grysztar | Windows , DOS , Linux , similar a Unix | sí | BSD con Copyleft añadido | sí |
GAS | Proyecto GNU | Tipo Unix , Windows , DOS , OS / 2 | sí | GNU GPL | Desde 1987 |
HLA | Randall Hyde | Windows , Linux , FreeBSD , macOS | sí | Dominio publico | sí |
Ensamblador abierto de Watcom (HJWASM también conocido como UASM, JWASM, WASM) | Watcom | Linux , Windows , DOS , FreeBSD , OS / 2 | aprobado por OSI , pero no por FSF | Sybase Open Watcom Public | sí |
MASM | Microsoft | Windows , DOS , OS / 2 | No | Microsoft EULA | Desde 1981 [3] |
NASM | Simon Tatham , Julian Hall, Hans Peter Anvin , et al. | Linux , macOS , Windows , DOS , OS / 2 | sí | BSD | sí |
ASM de Tim Paterson | Tim Paterson | 86-DOS , DEPURACIÓN DE DOS | No | Propiedad | 1979-1983 |
TASMO | Borland | Windows , DOS | No | Propiedad | ? [4] [5] |
TCCASM | Fabrice Bellard | Tipo Unix , Windows | sí | LGPL | sí |
vasm | varios | sí | Libre | sí | |
86-Ensamblador para DOS | Stephen Duffy | DOS | sí | GPL2 | No |
Xenix | Microsoft | Xenix 2.3 y 3.0 (antes de 1985) | No | Propiedad | 1982-1984 |
Yasm [1] | Windows , DOS , Linux , similar a Unix | sí | BSD | No [6] |
- ^ Parte delárbol de fuentes deMINIX 3, pero sin una actividad de desarrollo obvia.
- ^ Desarrollado porInteractive Systems Corporationen 1986 cuando portaronUNIX System Va las arquitecturas Intel iAPX286 y 80386. Arquetípico de lasintaxis ATTporque se usó como referencia para GAS. Todavía se utiliza para los productos de TheSCO Group,UnixWareyOpenServer.
- ^ El sitio de inicioparece inactivo. También se ofrece como parte de lospuertos FreeBSD, enbcc-1995.03.12.
- ^ Activo, admitido, pero no anunciado.
- ^ Desarrollado en 1982en elMITcomo ensamblador cruzado, fue elegido porInteractive Systems Corporationen 1983 cuando desarrollaron PC / IX bajo contrato con IBM. La sintaxis seutilizó más tardecomo base para el ensamblador ACK, que se utilizará en lacadena de herramientasMINIX1.x.
- ^ Proyecto RosAsm en WebArchive.org.
- ^ Parte de lacadena de herramientasC ++ Builder, pero no se vende como un producto independiente ni se comercializa desde la escisión de CodeGear; Borland todavía lo estaba vendiendo hasta entonces. La versión 5.0, la última, está fechada en 1996.
- ^ Turbo Assembler fue desarrollado comoTurbo Editasmpor Uriah Barnett de Speedware Inc (Sacramento, CA) entre 1984 y 1987, luego vendido o comercializado por Borland como su Turbo Assembler.
- ^ La última versión estable 1.3.0 se lanzó en agosto de 2014, y desde entonces hatenidopoco mantenimiento:https://github.com/yasm/yasm
ensambladores x86-64
Ensamblador | Desarrollador | Sistema operativo | FOSS | Licencia | Desarrollo activo |
---|---|---|---|---|---|
FASM | Tomasz Grysztar | DOS , tipo Unix , Windows | sí | BSD | sí |
GAS | Proyecto GNU | DOS , OS / 2 , similar a Unix , Windows | sí | GNU GPL | sí |
MASM | Microsoft | DOS , OS / 2 , Windows | Xenix | No | Comercial | sí |
NASM | Simon Tatham , Julian Hall, Hans Peter Anvin , et al. | DOS , Linux , macOS , OS / 2 , Windows | sí | BSD | sí |
Ensamblador Watcom abierto | Watcom | DOS , FreeBSD , Linux , OS / 2 , Windows | aprobado por OSI , pero no por FSF | Sybase Open Watcom Public | sí |
POASMO | Windows , Windows Mobile | No | Freeware | sí | |
TCCASM | Fabrice Bellard | Tipo Unix , Windows | sí | GNU LGPL | sí |
Yasm [2] | DOS , tipo Unix , Windows | sí | BSD | No |
Ensambladores Z80
Ensamblador | Desarrollador | Sistema operativo | FOSS | Licencia | Desarrollo activo |
---|---|---|---|---|---|
Microsoft MACRO-80 | Microsoft | CP / M , ISIS-II , TRSDOS , TEKDOS , MSX-DOS | No | Comercial | No |
Ensamblador de Zeus | Computación cristalina | No | Comercial | No | |
z80asm | Tipo Unix , Windows | sí | GNU GPL | No |
Otro
Ensamblador | Desarrollador | FOSS | Licencia | Conjunto de instrucciones | Plataforma de host |
---|---|---|---|---|---|
Lenguaje ensamblador para Multics (ALM) | sí | MIT | GE-645 Honeywell 6180 | GE-645 Honeywell 6180 | |
El macroensamblador AS | Alfred Arnold | Libre | 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, 8086 / 80,186 mil , i960, CDP1802 (A) / 1804 (A) / 1805 (A), LatticeMico8, PIC 16C5x, PIC 16C8x, PIC 17C42, MELPS-740, MELPS-7700, MELPS-4500, M16, M16C, 68000 (hasta 68040), ColdFire, DSP56000, DSP56300, PowerPC 601/505, M-Core, 6800 , 68HC11 (K4), 6805, 68HC (S) 08, 6809, 68HC12 incl. XGATE, 68HC16, 68RS08, SC / MP, INS807x, COP4, COP8, SC14xxx, µpD7720 / 7725, µpD77230, µpD78C1x, 75K0, 78K0, 78K2, 78K3, 78K4, V30 / 35, OLMS-40, OLMS-50, XA, 6502 , (W) 65 (S) C02, 65C19, 80C382, 80C166 / 167, 2650, 8X30x, ST6, ST7, ST9, 6804, SYM53C8xx, TMS3201x, TMS320C2x, TMS320C20x, TMS320C3x, TMS320CMS320C4x , TMS9900, TMS370xxx, MSP430 (X), TLCS-900, TLCS-90, TLCS-870, TLCS-47, TLCS-9000, TC9331, KCPSM / KCPSM3 ('PicoBlaze'), Z80 , Z180, Z380, Z8, eZ8 , MIL STD 1750 | Win32 , DOS / DPMI, DOS (ya no se mantiene), OS / 2 (ya no se mantiene), Linux | |
Babbage | No | Propiedad | Serie GEC 4000 | Serie GEC 4000 | |
BRÚJULA [3] | Corporación de datos de control | No | Propiedad | Computadora central CDC | Computadora central CDC |
MACRO-10 | Corporación de equipos digitales | Libre | PDP-10 | PDP-10 | |
MACRO-11 | Corporación de equipos digitales | Libre | PDP-11 | PDP-11 | |
vasm | Libre | Zilog Z80 , familia Motorola 6800 | varios | ||
GPASM | James Bowman, Craig Franklin y David Barnett | sí | GNU GPL | Microcontrolador PIC | muchos |
MIPS | Libre | MIPS | MIPS | ||
Programa de montaje óptimo simbólico (SOAP) | No | Propiedad | IBM 650 | IBM 650 | |
Sistema de montaje técnico (TASS) | Libre | IBM 650 | IBM 650 | ||
Codificador automático [4] | Libre | IBM 705 , 14xx , 1410 , 7010 , 7070 , 7072 , 7074 , 7080 | varios | ||
Programa de montaje de Fortran (FAP) | Libre | IBM 709 , 704x , 709x | Sistema de monitorización Fortran , IBSYS | ||
Programa de macroensamblaje del GCOS (GMAP) | Libre | Serie GE-600 , serie Honeywell 6000 | GCOS | ||
Programa de macro ensamblaje (MAP) | Libre | IBM 709 , 704x , 709x | IBSYS / IBJOB en 709, 704x, 709x | ||
Meta-símbolo | Libre | Serie SDS Sigma | BTM, UTS , CP-V | ||
Programa de montaje simbólico (SAP) | Libre | IBM 704 | IBM 704 | ||
Sistema de programación simbólica (SPS) [5] | Gary Mokotoff | Libre | IBM 14xx , 1620 , 1710 | IBM 1401, 1440, 1460, 1620, 1710 | |
ASMB, ASBL, NSBL: códigos de operación numéricos, utilizados para 1900 Operating System Executive | No | Propiedad | ICL 1900 | ICL 1900 | |
Códigos de operación nemotécnicos de GINerator, utilizados para GEORGE (sistema operativo) | No | Propiedad | ICL 1900 | ICL 1900 | |
Códigos de operación mnemotécnicos PLAN, utilizados para programas comerciales de 1900 | No | Propiedad | ICL 1900 | ICL 1900 | |
Lenguaje ensamblador de dirección única (SAAL) | Libre | UNIVAC 1005 | UNIVAC 1005 | ||
Detective | Libre | UNIVAC 1107 | EJEC , EJEC II , EJEC 8 | ||
Ensamblador de meta (MASM) | Libre | Serie UNIVAC 1100/2200 | UNIVAC EXEC 8 | ||
MAYOR | ? | UNIVAC III | UNIVAC III |
notas y referencias
- ^ El proyecto de ensamblador modular Yasm
- ^ El proyecto de ensamblador modular Yasm
- ^ COMPASS es una familia de ensambladores para máquinas dispares.
- ^ Autocoder es en realidad una familia de ensambladores para máquinas dispares.
- ^ SPS es en realidad una familia de ensambladores para máquinas dispares.
enlaces externos
- Lista de ensambladores que se ejecutan en hardware de bus S100, incluidos ensambladores alojados CP / M para 8080 y Z80