Lenguaje Ensamblador
Lenguaje Ensamblador
Lenguaje Ensamblador
COACALCO
UNIDAD 3 Modularizacin
3.1.1 Internas.
Una macro es un conjunto de instrucciones que se pueden mandar a llamar desde
cualquier parte del programa. Para definir una macro, se utiliza la directiva
MACRO. El formato de esta directiva es: (nombre_de_macro) MACRO
(lista_parmetros).Una macro interna es aquella que se declara y se llaman dentro
del mismo programa.
Una macro consta de tres partes esenciales:
a) CABECERA: Contiene el nombre de la macro la pseudo-op MACRO y
opcionalmente, variables ficticias que sern pasadas desde la macro.
b) CUERPO: Contiene el cdigo real que ser insertado en cualquier programa
que llame al nombre de la macro.
c) FIN: Debe incluir la sentencia ENDM.
El nombre de esta macro es INICIO, aunque es aceptable cualquier otro nombre
vlido quesea nico. La directiva MACRO en la primer lnea indica al ensamblador
que las instrucciones que siguen, hasta ENDM (fin de la macro), son parte de la
definicin de la macro. La directiva ENDM termina la definicin de la macro. Las
instrucciones entre MACRO y ENDM comprenden el cuerpo de la definicin de la
macro. Si su programa realiza frecuentemente funciones de entrada/salida, las
3.1.2 Externas
Una de las facilidades que ofrece el uso de las macros es la creacin de
bibliotecas, las cuales son grupos de macros que pueden ser incluidas en un
programa desde un archivo diferente. La creacin de estas bibliotecas es muy
sencilla, nicamente tenemos que escribir un archivo con todas las macros que se
necesitarn y guardarlo como archivo de texto. aPara llamar a estas macros solo
es necesario utilizar la instruccin Include<Nombre_Del_Archivo>, en la parte de
nuestro programa donde escribiramos normalmente las macros, esto es, al
principio de nuestro programa (antes de la declaracin del modelo de memoria).
Suponiendo que se guard el archivo de las macros con el nombre de
MACROS.TXT la instruccin Include se utilizara de la siguiente forma:
;Inicio del programa
Include MACROS.TXT
.MODEL SMALL
.DATA
;Aqui van los datos
.CODE
Inicio:
;Aqui se inserta el cdigo del programa
.STACK
;Se define la pila
End Inicio
3.2 Procedimientos.
Un procedimiento es un conjunto de instrucciones que tienen la finalidad de
ejecutar una tarea especfica dentro de un programa. Los procedimientos son muy
similares a las macros.
Un procedimiento es un conjunto de instrucciones a los que podemos dirigir el flujo
de nuestro programa, y una vez terminada la ejecucin de dichas instrucciones se
devuelve el control a la siguiente lnea a procesar del cdigo que mando llamar al
3.2.1 Internos.
Los procedimientos internos son aquellos que se declaran y se llaman dentro del
mismo programa, tambin son llamados procedimientos locales. El listado anterior
muestra la forma de utilizar procedimientos internos.
3.2.2 Externos.
Los procedimientos externos, a diferencia de los internos, se declaran en mdulos
o programas separados al programa donde el procedimiento es llamado, en otras
palabras, la llamada al procedimiento se encuentra en un programa y el
procedimiento en otro. Para poder utilizar procedimientos externos, es necesario
que sean declarados como pblicos en el programa donde se encuentran y que
sean llamados como externos en el programa donde sern usados. Cuenta con
tres directivas de ensamble: .PUBLIC para declarar los procedimientos como
pblicos, .EXTERN para indicar que el procedimiento que se va a usar est fuera
del programa y .INCLUDE para enlazar el programa que contiene los
procedimientos con el programa que los llama. Con estas capacidades, es fcil
crear bibliotecas de procedimientos y macros que puedan ser utilizados
constantemente por los dems programas, ahorrando con ello tiempo de
programacin al reutilizar cdigo fuente .Por ejemplo Este programa muestra la
forma de utilizar procedimientos y datos externos en los programas por medio de
las directivas de inclusin include y public.
.MODEL TINY
.INCLUDE proc2.ASM ;Incluir el archivo proc2.asm;
el cual contiene la variable de cadena
;Cad1 y los procedimientos externos
;usados en este programa.
.DATA
Cad2 db 'Esta es una cadena de prueba 2...',13,10,'$'
.CODE
INICIO: ;Punto de entrada al programa
Mov Dl,20 ;X=20
Mov Dh,10 ;Y=10
Call GotoXY ;GotoXY 20,10
BIBLOGRAFIA