Ensamblador en nasm

Solo disponible en BuenasTareas
  • Páginas : 28 (6827 palabras )
  • Descarga(s) : 0
  • Publicado : 1 de marzo de 2011
Leer documento completo
Vista previa del texto
The Netwide Assembler: NASM =========================== Capítulo 1: Introducción -----------------------1.1 ¿Qué es NASM? The Netwide Assembler, NASM, es un ensamblador 80x86 diseñado para la portabilidad y la modularidad. Soporta diversos formatos de ficheros objeto, incluyendo los 'a.out' de Linux y ELF, NetBSD/FreeBSD, COFF y OBJ de Microsoft 16-bit y Win32. También sacará ficheros en binariopuro. Su sintaxis está diseñada para ser simple y fácil de entender, similar a la de Intel pero menos compleja. Soporta códigos de operación de Pentium, P6 y MMX, y tiene capacidades de macro. 1.1.1 ¿Por qué otro ensamblador? The Netwide Assembler creció a raíz de una idea en 'comp.lang.asm.x86' (o posiblemente en 'alt.lang.asm' - he olvidado cuál), que esencialmente se resume en que parecía nohaber ningún buen ensamblador gratis de las series x86, y que quizá debería alguien escribir alguno. (*) 'a86' es bueno, pero no gratis, y en particular no consigues ninguna capacidad 32-bit hasta que pagas. Y además es sólo para DOS. (*) 'gas' es gratis, y se porta sobre DOS y Unix, pero no es muy bueno, ya que está diseñado para trabajar de fondo del 'gcc' que siempre suministra el códigocorrecto. Por eso, la comprobación de errores es mínima. Además, su sintaxis es horrible, desde el punto de vista de cualquiera que quiera _escribir_ actualmente algo en él. Y no puedes escribir código 16-bit en él (adecuadamente). (*) 'as86' es específico de Linux, y (por lo menos mi versión) no parece tener mucha (o ninguna) documentación. (*) MASM no es muy bueno, y es caro, y sólo corre bajo DOS. (*)TASM es mejor, pero todavía se esfuerza por tener compatibilidad con MASM, lo que significa millones de directivas y toneladas de papeleo. Y su sintaxis es esencialmente del MASM, con las contradicciones y peculiaridades que conlleva (aunque clasifica algunas de estas por medio del modo Ideal). Es caro también. Y es sólo para DOS. Por eso aquí, para el placer de tu código, está NASM. Hoy en díatodavía está en fase de prototipo - no te prometemos que pueda mejorar cualquiera de estos ensambladores. Pero por favor, _por favor_ envíanos informes sobre bugs, arreglos, información útil, y cualquier cosa que puedas tener en tus manos (¡y gracias a todas las personas que ya han hecho esto!. Ya sabéis quiénes sois), y nosotros lo mejoraremos con mucho gusto. De nuevo. 1.1.2 Condiciones delicencia Por favor, mira el fichero 'License', suministrado como parte de cualquie r fichero de distribución del NASM, para ver las condiciones de licencia bajo las cuales puedes usar el NASM. 1.2 Información de contacto

NASM tiene una página WWW en 'http://www.cryogen.com/Nasm'. Los autores están localizables por E-Mail en 'jules@earthcorp.com' y 'anakin@pobox.com'. Si quieres informarnos de un bug,por favor, lee la sección 10.2 primero. Los nuevos lanzamientos de NASM se subirán a 'sunsite.unc.edu', 'ftp.simtel.net' y 'ftp.coast.net'. Los anuncios se ponen en 'comp.lang.asm.x86', 'alt.lang.asm', 'comp.os.linux.announce' y 'comp.archives.msdos.announce' (en la última se hace automáticamente al subir algo a 'ftp.simtel.net'). Si no tienes acceso a Usenet, o quisieras ser informado por E-Mailcuando salgan nuevas versiones, E-Mail a 'anakin@pobox.com' y pregunta. 1.3 Instalación 1.3.1 Instalando NASM bajo MS-DOS o Windows Una vez que has obtenido el fichero comprimido del NASM, 'nasmXXX.ZIP' (donde XXX denota el número de versión del NASM contenido en el archivo), descomprímelo dentro de su mismo directorio (por ejemplo 'c:\nasm'). El archivo contendrá cuatro ficheros ejecutables: losejecutables NASM 'nasm.exe' y 'nasmw.exe', y los ficheros ejecutables NDISASM 'ndisasm.exe' y 'ndisasmw.exe'. En cada caso, el fichero cuyo nombre termina en 'w' es un ejecutable Win32, diseñado para correr bajo Windows 95 o Windows NT sobre Intel, y el otro es un ejecutable para DOS de 16-bit. El único fichero que el NASM necesita para ejecutar es el propio ejecutable, por eso copia (al menos)...
tracking img