Netwide Assembler

Netwide Assembler

El Netwide Assembler o NASM, es un ensamblador libre para la plataforma Intel x86. Puede ser usado para escribir programas tanto de 16 bits como de 32 bits (IA-32). En el NASM, si se usan las bibliotecas correctas, los programas de 32 bits se pueden escribir de una manera tal para que sean portables entre cualquier sistema operativo x86 de 32 bits. El paquete también incluye un desensamblador, el NDISASM.

Contenido

Historia

El NASM fue escrito originalmente por Simon Tatham con ayuda de Julian Hall, y actualmente es desarrollado por un pequeño equipo en SourceForge que le hace mantenimiento. Fue lanzado originalmente bajo su propia licencia, pero más adelante fue cambiada por la licencia GNU Lesser General Public License, seguido de un número de problemas políticos causado por la selección de la licencia. La próxima versión del NASM, la 2.00, actualmente está siendo desarrollada bajo la bifurcación 0.99, e incluirá soporte para el x86-64 (x64/AMD64/Intel 64), junto con la respectiva salida de archivo objeto de 64 bits. Esta versión de desarrollo puede ser encontrada en el NASM git repository, y snapshots por las noches en formatos de código fuente y binarios están disponibles aquí.

Características

El NASM puede generar varios formatos binarios en cualquier máquina, incluyendo COFF (y el ligeramente diferente formato Portable Executable usado por Microsoft Windows), el a.out, ELF, Mach-O, y el formato binario nativo Minix. El NASM incluso define su propio formato binario, RDOFF, que es usado actualmente solamente por el proyecto del sistema operativo RadiOS).

La variedad de formatos de la salida permite a uno "redestinar"??? (retargeting) los programas a virtualmente cualquier sistema operativo x86. Además, el NASM puede crear archivos binarios planos, usables para escribir boot loaders (cargadores de arranque), imágenes ROM, y varias facetas del desarrollo sistemas operativos. El NASM incluso puede correr en plataformas diferentes del x86, como SPARC y PowerPC, aunque no puede hacer producir programas usables por esas máquinas.

El NASM usa la tradicional sintaxis de Intel para el lenguaje ensamblador x86, mientras que otros ensambladores libres, como el ensamblador del GNU (GAS), utilizan la sintaxis de AT&T. También evita características como la generación automática de sobreescritura (override) de segmentos y la relacionada directiva ASSUME usada por el MASM y los ensambladores compatibles, pues estas pueden ser a menudo confusas -- los programadores deben seguir por sí mismos el contenido de los registros de segmento y la localización de variables a los que éstos se refieren.

Linking

El NASM produce principalmente archivos objeto, que por lo general no son ejecutables por sí mismos. La única excepción a esto son los binaries planos (.COM) que son inerentemente limitados en el uso moderno. Para traducir los archivos objeto a programas ejecutables, se debe usar un linker apropiado, por ejemplo la utilidad "LINK" del Visual Studio de Windows (o el compilador GNU de MinGW), o el LD para sistemas similares al UNIX (como Linux).

Véase también

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Mira otros diccionarios:

  • Netwide Assembler — Original author(s) Simon Tatham, Julian Hall Developer(s) H. Peter Anvin, et al. Stable release 2.09.09 / July 3, 2011; 4 months ago (2011 07 03) …   Wikipedia

  • Netwide Assembler — NASM Développeurs Simon Tatham, Julian Hall, H. Peter Anvin et equipe de développeurs …   Wikipédia en Français

  • Netwide Assembler — NASM NASM 2.00 Basisdaten Aktuelle Version: 2.05.01 (29. Oktober 2008) Aktuelle Vorabversion: 2.06rc2 (19. Dezember 2008) …   Deutsch Wikipedia

  • Netwide assembler — NASM Développeurs Simon Tatham, Julian Hall, H. Peter Anvin et equipe de développeurs …   Wikipédia en Français

  • Assembler (Informatik) — Ein Assembler (nach DIN 44300: Assemblierer) ist ein Hilfsprogramm der Programmierung (Programmierwerkzeug), das ein in maschinennaher Assemblersprache geschriebenes Computerprogramm in Maschinensprache (auch Maschinencode oder Nativer Code… …   Deutsch Wikipedia

  • Flat assembler — Saltar a navegación, búsqueda FASMD Versión DOS con IDE del FASM flat assembler (FASM) es un ensamblador libre, multi paso, con el estilo de la sintaxis de Intel que soporta las arquitecturas IA 32 y x86 64. El proyecto fue iniciado en 1999 por… …   Wikipedia Español

  • Cross-Assembler — Ein Assembler (nach DIN 44300: Assemblierer) ist ein Hilfsprogramm der Programmierung (Programmierwerkzeug), das ein in einer einfachen, maschinennahen Assemblersprache geschriebenes Programm in Maschinensprache (auch Maschinencode oder Nativer… …   Deutsch Wikipedia

  • Microsoft Assembler — Der Microsoft Macro Assembler (abgekürzt MASM) ist ein von Microsoft entwickelter Assembler für x86 basierende Prozessoren. Er übersetzt Assemblerquelltext in ausführbaren, nativen Maschinencode. Der Microsoft Macro Assembler entwickelte sich… …   Deutsch Wikipedia

  • Microsoft Macro Assembler — Der Microsoft Macro Assembler (abgekürzt MASM) ist ein von Microsoft entwickelter Assembler für x86 basierende Prozessoren. Er übersetzt Assemblerquelltext in ausführbaren, nativen Maschinencode. Der Microsoft Macro Assembler entwickelte sich… …   Deutsch Wikipedia

  • Turbo Assembler — El Turbo Assembler (TASM), un paquete ensamblador principalmente destinado a la plataforma del IBM PC y sus compatibles. Fue la oferta de Borland en el mercado de herramientas de programación en lenguaje ensamblador para la familia de los… …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”