miércoles, 17 de abril de 2013

Compilación Debug, MASM y un Hola Mundo


Ensamblador Básico

-->
Hola a todos, en este Blog subiré algunos programas hechos en ensamblador ya que es un lenguaje de programación más dificiles de aprender tratando así de ayudar a las personas interesadas en aprender el lenguaje, o en su caso dado el código que les sirva para hacer sus tareas, ya que es muy dificil encontrar programas para este lenguaje,  los ejemplos que mostraré son programas, prácticas o proyectos que me dejarón en la universidad o que hice por cuenta propia.

Los programas estan divididos en dos partes: 

La primera es que son programas en ensamblador programados en debuger de windows (Son los programas mas sencillos).
La segunda es con un compilador MASM (También se pueden correr los programas del debug).

¿Como correr una programa en debug o MASM?

Para correr un programa en debug hay que abrir la consola de windows (MSDOS) y teclear debug, damos enter y saldra un guión, para empezar a escribir el código tecleamos la letra a (significa ASSEMBLER que es la instruccion para empezar a ensamblar o dar las instrucciones, después de -a podemos escribir nuestro código a ejecutar, de lo contrario el compilador no reconocera ninguna instrucción).



Les dejo el primer programa que será  imprimir una cadena (El clásico "Hola Mundo").

a
jmp 0120

e 0102 "Hola Mundo" 0a 0d "$"

a 120
 mov ah,09
mov dx,0102
int 21

int 20

g

Imagen de como debe quedar escrito el programa.



Hola mundo con el compilador MASM.

.model small
.stack 64
.data
  msj db 0ah,0dh, 'Hola Mundo','$'
.code
inicio:
  mov ax,@data
  mov ds,ax
  mov ah,09h
  mov dx,offset msj
  int 21h

Salir:
mov ah,04ch
int 21h

end
 

En este primer programa explicaré como hacer el linkeo y compilado de un programa en MASM, primeramente crearemos un archivo nuevo.



Despues escribimos nuestro código.





Lo siguiente será guardarlo con extensión .asm




Después lo vamos a compilar, nos vamos a la pestaña File/Dos Shell




Nos saldrá una ventana como el MSDOS, para el compilado escribimos: ml nombreArchivo.asm



 Si el codigo está escrito correctamente saldrá la información del programa como en la figura siguiente y se generará un archivo obj.


 Si hay un error, nos dirá en que línea se detecto el error.




 Una vez escrito, linkeamos nuestro archivo obj con la siguiente instrucción: @echo off


 Esto nos generará un archivo .exe el cual lo podremos ejecutar
 

y asi termina el proceso de compilación.

Para regresar a nuestro código tecleamos exit.



A primera vista se ve más complicado programar en MASM pero MASM tiene muchas ventajas que el debugger, como es el poder declarar variables o el mejoramiento de diferentes instrucciones pero estas las veremos más adelante.

Suerte y hasta la próxima!!! -->

4 comentarios:

  1. Hola, una consulta como introduzco una etiqueta de subrutina en el DEBUG?

    ResponderEliminar
  2. hola como puedo leer una cadena de caracteres desde el teclado.

    ResponderEliminar
  3. Este comentario ha sido eliminado por el autor.

    ResponderEliminar