En este momento podemos comenzar a escribir las verdaderas
instrucciones que le indicarán a la computadora que mensaje y como lo va a
desplegar. Sugiero que comenzemos por borrar la pantalla. Esto se puede
realizar de muy diversas formas, aquí lo haremos usando el BIOS, el cual es un
microchip que se encuentra dentro de toda PC y controla las funciones básicas
de entrada y salida (Basic Input Output System). Lo que haremos es decirle al
chip "¡Hey! dime en que modo está trabajando la tarjeta de video",
cuando obtengamos la respuesta le diremos: "Dile a la tarjeta de video que
deje de trabajar en ese modo y que comienze a trabajar en el modo de video que
me diste". Una instrucción rara, pues lo que le estamos ordenando es que
deje de trabajar en el modo en el que está trabajando !y que comienze a
trabajar en ese mismo modo! Así se lo decimos en su propio lenguaje:
principio:
mov ah, 0fh
int 10h
mov ah, 0
int 10h
Lo primero que vemos es una "etiqueta", con ella
le damos nombre a un punto dentro del código, si más tarde dentro del programa
deseamos repetir esta parte del código solo tenemos que decir "salta a
'principio'" y ya está. El primer grupo de instrucciones después de la
etiqueta le dicen al BIOS que obtenga la modalidad en la que está trabajando el
video. Aquí vemos por primera vez una interrupción (int 10h). Las
interrupciones son funciones ya incorporadas dentro del BIOS y del sistema
operativo MS-DOS que realizan tareas comunes como leer del disco, mostrar un
mensaje en el monitor, o ¡borrar la pantalla!. Enseguida, mediante una función
de la interrupción 10h, le decimos que cambie a la misma modalidad de video.
Bueno, ahora que la pantalla está limpia, podemos mostrar
nuestro mensaje en el monitor. Aquí está el código:
lea dx,
mensaje_a_mostrar
mov ah, 9h
int 21h
Con la primera instrucción le decimos al procesador
"Carga en el registro DX, la dirección de memoria de la variable llamada
'mensaje_a_mostrar'". Enseguida le decimos que la despliegue en pantalla
con la función 9h de la interrupción 21h.
Nuestra tarea está terminada, así que digamosle a la
computadora que no hay más instrucciones que procesar.
int 20h
Las instrucciones están terminadas, pero todavía tenemos que
decirle a la computadora que valor va a tener la variable 'mensaje_a_mostrar'.
mensaje_a_mostrar db "¡Hola Mundo!$",0
El signo de pesos al final de la cadena, es necesario para
que el sistema operativo sepa en donde se acaba la cadena (una cadena es un
grupo de caracteres) que va a desplegar.
Una vez que terminamos con las instrucciones y valores para
la máquina, hay que marcar el archivo para que el compilador sepa que ya
terminamos de darle instrucciones a la maquina.
CODE ENDS
end
principio
¡Al fin! ¡Llegamos al final! Aquí está el código fuente
completo:
CODE SEGMENT
ASSUME CS:CODE,
DS:CODE, SS:CODE, ES:CODE
ORG 100h
principio:
mov ah, 0Fh
mov ah, 0
int 10h
lea dx,
mensaje_a_mostrar
mov ah, 9h
int 21h
int 20h
mensaje_a_mostrar
db "¡Hola Mundo!$",0
CODE ENDS
end
principio
Comentarios
Publicar un comentario