En los programas ensamblador siemrpe se usan los segmentos de código y de datos.
En el segmento "data" se declaran e inicializan las variables (o sea, los datos)
En el segmento "code" se escribe el código del programa
msg1 es el nombre de una variable, cuyo contenido será "Hola Mundo" en este ejemplo
el 13 es el equivalente a CHR(13) o sea presionar la tecla ENTER
el 10 es el equivalente a CHR(10) o sea la alimentación de línea o LINE FEED
el $ finaliza una cadena, es la forma de indicarle que allí termina.
MAIN es el nombre de un procedimiento
PROC FAR significa que el código estará fuera del límite normal de 64 kb
cs es el segmento de código
ds es el segmento de datos
ss es el segmento de pila
es es el segmento extra
128 DUP(0) coloca 128 números 0, uno a continuación del otro en la pila. Su efecto es que el tamaño de la pila será de 128 bytes.
MOV AX, dades lo que hace es asignarle al registro AX el valor de dades
MOV DS, AX lo que hace es asignarle al segmento DS el valor de AX
¿Por qué?
Porque no se puede hacer la asignación directa, escribir MOV DS, dades es un error, por eso al registro AX se lo utiliza como auxiliar.
La interrupción 21h es la "interrupción general" del procesador, la que hace más cosas.
Cuando quieres mostrar un mensaje en la pantalla debes hacer lo siguiente:
1. Colocar en el registro DX el texto que deseas mostrar
2. Colocar en AH (el sub-registro de AX, el byte superior de AX) el valor 09h
3. Ejecutar la interrupción 21h
Para terminar un programa normalmente (o sea, sin enviar un número de error al programa llamador) utilizas la función 4C00h
¿Qué hace tu programa?
1. Muestra en la pantalla el mensaje "Hola Mundo"
2. Finaliza su ejecución sin enviar un número de error (o sea, está diciendo que terminó ok)
Saludos.
Walter.
"Si puedes razonar con gente religiosa, no son gente religiosa". Dr. House