Título: [Aporte de 4ng3r] MASM32 - RadAsm y Estructura Basica Publicado por: AFelipeTrujillo en 30 Agosto 2010, 01:12 am MASM32 - RadAsm y Estructura Basica Introduccion Masm32 es un excelente conjunto de herramientas de programación, distribuído por Hutch, que incluye el Macro Assembler de Microsoft, macros, ayudas y todas las librerías (.lib) y archivos 'include' (.inc) necesarios para programar aplicaciones en assembler para Windows. Pagina Principal: http://www.masm32.com/ (http://www.masm32.com/) RadASM Para que se nos haga mas fácil la vida, esta a nuestra dispositivo un IDE para Assembler llamado RadASM, una vez lo hayamos descargado e instalado, procedemos a crear nuestro primer proyecto: (http://a.imageshack.us/img686/2077/screenhunter01aug280017.gif) (http://a.imageshack.us/img683/2747/screenhunter02aug280019.gif) En la opción de ensamblador escogemos masm y en tipo de proyecto marcamos Win32 App, le asignamos un nombre al proyecto yo escoji prueba1, la ruta donde va ser almacenada y Next Luego escogemos los archivos a crear con el proyecto, en este caso activaremos la casilla de Asm, Inc y Bak (http://a.imageshack.us/img38/4636/screenhunter04aug280025.gif) Estas opciones las dejamos tal cual y oprimimos Finish Al lado derecho se pueden observar los archivos que hemos creado. (http://a.imageshack.us/img85/4351/screenhunter06aug280027.gif) Abrimos el archivo Asm y nos ponemos programar Estructura Basica Un Programa para Masm32 debe seguir una estructura que pueda ser entendida por nuestro compilador, por ejemplo: Código
Explicacion: .386 - Esta directiva sirve para establecer el tipo de procesador y sus instrucciones con lo que se va a trabajar .model flat,stdcall - Aquí establecemos el modelo de memoria requerido para nuestro programa option casemap:none - Esta opcion hace sensible las mayucualas de las minusculas, es decir, que B es difetente A include y includelib - Como todo en Windows, Masm32 incluye archivos y librerías para manejar un gran numero de funciones que existen en este sistema operativo, es decir para usar el API. Por ejemplo en la estructura anterior use el ExitProcess. Include lo usamos para agregar o importar archivos *.asm o *.inc en cambio Includelib lo usamos para agregar librerías *.lib. .data - Es el segmento en donde estableceremos los datos a utilizar en el programa, existen dos tipo de información la inicializada y la no inicializada (.data?) .code - Es el segmento en donde le indicamos a Mam32 donde empieza el código y donde termina FUENTE (http://4ng3r.blogspot.com/2010/08/masm32-radasm-y-estructura-basica.html#more) |