NASM es un ensamblador para 80x86 diseñado para ser portable y modular. El proyecto es compatible con una amplia gama de formatos de archivo de objeto incluyendo Linux a.out y ELF, COFF, Microsoft 16-bit OBJ y Win32. Será archivos binarios sin formato también de salida.
Su sintaxis está diseñado para ser simple y fácil de entender, similar a Intel, pero menos complejo. Es compatible con Pentium, P6, MMX, 3DNow! y códigos de operación de la ESS, y tiene capacidad de macro. Incluye un desensamblador así
El Netwide ensamblador surgió de una idea sobre comp.lang.asm.x86. (O posiblemente alt.lang.asm - no recuerdo cuál), que era esencialmente que no no parecía ser un buen ensamblador x86-series libre alrededor, y que tal vez alguien debería escribir un
-. a86 es bueno, pero no es gratis, y en particular, no te dan ninguna capacidad de 32 bits hasta que pague. Es DOS sólo, también.
- Gas es libre, y los puertos de más de DOS y Unix, pero no es muy buena, ya que está diseñado para ser un final de nuevo a gcc, que siempre alimenta código correcto. Por lo que su comprobación de errores es mínimo. Además, su sintaxis es horrible, desde el punto de vista de cualquiera que trate de escribir en realidad nada en él. Además, usted no puede escribir código de 16 bits en el mismo (adecuadamente).
- As86 es Minix- y específica de Linux, y (mi versión al menos) no parecen tener mucho (o cualquier) documentación.
- MASM no es muy buena, y es (era) caro, y sólo se ejecuta bajo DOS.
- TASM es mejor, pero todavía se esfuerza por lograr la compatibilidad MASM, lo que significa millones de directivas y toneladas de cinta roja. Y su sintaxis es esencialmente MASM de, con las contradicciones y peculiaridades que ello conlleva (aunque ordena a algunos de los que por medio de modo Ideal). Es caro también. Y es sólo DOS.
Así que aquí, para su placer de codificación, es NASM. En la actualidad todavía está en fase de prototipo - no prometemos que puede superar a cualquiera de estos ensambladores. Pero, por favor, envíenos informes de errores, correcciones, información útil, y cualquier cosa que usted puede conseguir sus manos en (y gracias a las muchas personas que han hecho esto ya! Todos ustedes saben quienes son), y vamos a mejorar que fuera de todo reconocimiento. Una vez más.
Instalación de NASM bajo Unix
vez que haya obtenido el archivo fuente de Unix para NASM, nasm-X.XX.tar.gz (donde denota la X.XX número de versión del NASM contenida en el archivo), descomprimirlo en un directorio como / usr / local / src. El archivo, cuando desempaquetado, creará su propio subdirectorio nasm-X.XX
NASM es un paquete de configuración automática:. Una vez que haya descomprimido, cd al directorio que ha sido desempaquetado en y tipo ./configure. Este script de shell encontrará el mejor compilador de C que se utilizará para la construcción de NASM y establecer Makefiles en consecuencia.
Vez NASM tiene configurado automáticamente, puede escribir make para compilar los binarios nasm y ndisasm, y luego hacer instalar para instalar en / / local / bin usr e instalar las páginas de manual nasm.1 y ndisasm.1 en / / / man / man1 locales usr. Alternativamente, usted puede dar opciones tales como --prefix del script configure (consulte el archivo INSTALL para más detalles), o instalar los programas de ti mismo.
NASM también viene con un conjunto de utilidades para el manejo de la Formato de objeto de tipo fichero RDOFF personalizado, que se encuentran en el subdirectorio rdoff del archivo NASM. Puede crear estos con maquillaje RDF y los instala con maquillaje rdf_install, si los quieres.
Si NASM no auto-configuración, usted todavía puede ser capaz de hacer que compila utilizando el repliegue Unix makefile Makefile.unx. Copiar o cambiarla de nombre a Makefile y pruebe a escribir hace. También hay un archivo Makefile.unx en el subdirectorio rdoff
¿Cuál es nuevo en esta versión:.
- Cuando optimización es habilitado, R64 mov, imm ahora optimiza la forma más breve posible
¿Qué hay de nuevo en la versión 2.9.01:
- Fix dereference NULL en caso de perdida
Comentarios que no se encuentran