elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  [Aporte de 4ng3r] MASM32 - RadAsm y Estructura Basica
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Aporte de 4ng3r] MASM32 - RadAsm y Estructura Basica  (Leído 5,534 veces)
AFelipeTrujillo

Desconectado Desconectado

Mensajes: 160



Ver Perfil WWW
[Aporte de 4ng3r] MASM32 - RadAsm y Estructura Basica
« 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/

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:



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


Estas opciones las dejamos tal cual y oprimimos Finish

Al lado derecho se pueden observar los archivos que hemos creado.


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
  1. .386
  2. .model flat,stdcall
  3. option casemap:none
  4.  
  5. include windows.inc
  6. include kernel32.inc
  7. includelib kernel32.lib
  8.  
  9. .data
  10.  
  11. .code
  12. prueba1:
  13.  
  14. invoke ExitProcess,0
  15.  
  16. end prueba1
  17.  

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


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Estructura Basica de un Call Center
Redes
panchocolate 0 1,726 Último mensaje 3 Junio 2014, 02:58 am
por panchocolate
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines