1 / 7

Netwide Assembler o NASM

Netwide Assembler o NASM. 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 ).

dante
Télécharger la présentation

Netwide Assembler o NASM

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NetwideAssembler o NASM

  2. NASM Es un ensambladorlibre para la plataforma Intelx86. Puede ser usado para escribir programas tanto de 16 bits como de 32 bits (IA-32). Fundada en 1955 por un equipo profundo de los directores de servicios, NASM tiene tres objetivos:     * Mejorar la eficacia de la industria de servicios.     * Fomentar la comunicación y la cooperación entre los directivos de la industria de servicios.     * Proporcionar oportunidades educativas de calidad directamente relacionados con las necesidades de la industria.

  3. El NASM fue escrito originalmente por SimonTatham 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 PublicLicense, 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. HISTORIA

  4. 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 operativoRadiOS). • 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 bootloaders (cargadores de arranque), imágenes ROM, y varias facetas del desarrollo sistemas operativos. El NASM incluso puede correr en plataformas diferentes del x86, como SPARCyPowerPC, 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. CARACTERÌSTICAS

  5. 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) ENLACE

  6. ; Hola.asm: Primer Programa Ensamblador • BITS 16 • ORG 0x0100 • SECTION .text • mov ah,09h; Servicio: imprime • movdx,hola; Offset de la cadena • int 21h; Ejecuta: Imprime hola • int 20h; Fin • SECTION .data • hola db 'Hola a todos!$' ; Variable EJEMPLO

  7. Morales Olivares Mónica Elizabeth • Orozco López Marisela • Salas Delmas Génesis Genoveva • Torres Cruz Maritza INTEGRANTES:

More Related