Está en la página 1de 9

Instituto Tecnolgico Superior De

San Martn Texmelucan

MATERIA:
Lenguajes de Interfaz

DOCENTE:
Ing. Susana Garrido Cortez

ALUMNO(A):
Pablo Corona Solano

SEMESTRE:
5 SEMESTRE

REA:
ING. SISTEMAS COMPUTACIONALES

NOMBRE DEL TRABAJO:


INVESTIGACIN MACRO Y
PROCEDIMIENTO

Instituto Tecnolgico Superior De


San Martn Texmelucan

INTRODUCCIN
Una macro es un nombre que define un conjunto de instrucciones que
sern sustituidas por la macro cuando el nombre de sta aparezca en un
programa (proceso denominado expansin de macros) en el momento
de ensamblar el programa identificar.
Una macroinstruccin es una instruccin compleja, formada por otras
instrucciones ms sencillas. Esto permite la automatizacin de tareas
repetitivas. Adems tiene que estar almacenada, el trmino no se aplica
a una serie de instrucciones escritas en la lnea de comandos enlazadas
unas con otras por redireccin de sus resultados o para su ejecucin
consecutiva.
Las macros suelen almacenarse en el mbito del propio programa que
las utiliza y se ejecutan pulsando una combinacin especial de teclas o
un botn especialmente creado y asignado para tal efecto. La diferencia
entre una macroinstruccin y un programa es que en las
macroinstrucciones la ejecucin es secuencial y no existe otro concepto
del flujo de programa que por tanto, no puede bifurcarse.
Un ejemplo de macro, para colocar el cursor en alguna posicin
determinada de la pantalla es:
Posicin MACRO Fila, Columna
PUSH AX
PUSH BX
PUSH DX
MOV AH, 02H
MOV DH, Fila
MOV DL, Columna

Instituto Tecnolgico Superior De


San Martn Texmelucan
MOV BH, 0
INT 10H
POP DX
POP BX
POP AX
ENDM
MACROS
Ventajas y desventajas del uso de macros.
Si bien es cierto que las macros proporcionan mayor flexibilidad a la
hora de programar, tambin es cierto que tienen algunas desventajas.
La siguiente es una lista de las principales ventajas y desventajas del
uso de las macros.
Ventajas:

Menor posibilidad de cometer errores por repeticin.

Mayor flexibilidad en la programacin al permitir el uso de


parmetros.

Cdigo fuente ms compacto.

Al ser ms pequeo el cdigo fuente, tambin es ms fcil de leer


por otros.
Desventajas:

El cdigo ejecutable se vuelve ms grande con cada llamada a la


macro.

Las macros deben ser bien planeadas para evitar la redundancia


de cdigo.

Instituto Tecnolgico Superior De


San Martn Texmelucan

INICIO MACRO
; Define macro
MOV AX, DATA ; cuerpo de
MOV DS, AX
; la definicin
MOV ES, AX
; de la macro
ENDM
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.
Para llamar a estas macros solo es necesario utilizar la instruccin
Include NombreDelArchivo, 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
;Termina nuestro programa

Instituto Tecnolgico Superior De


San Martn Texmelucan
Bibliotecas de macros.
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.
Para llamar a estas macros solo es necesario utilizar la instruccin
Include NombreDelArchivo, en la parte de nuestro programa donde
escribiramos normalmente las macros, esto es, al principio de nuestro
programa
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;Termina nuestro programa
EJEMPLO:

Instituto Tecnolgico Superior De


San Martn Texmelucan

Instituto Tecnolgico Superior De


San Martn Texmelucan
PROCEDIMIENTOS EXTERNOS E INTERNOS
Una llamada a un procedimiento involucra el pase de informacin tanto
hacia el procedimiento como de retorno y el pase del control de flujo de
ejecucin de una parte del cdigo hacia otra. El pase de informacin
desde y hacia el procedimiento se realiza a travs de la pila. La porcin
de la pila asignada a una llamada a un procedimiento se conoce como
marco de pila. Para utilizar la pila se usan dos registros que sirven de
apuntadores: %ebp es el apuntador de marco de pila y %esp es el
apuntador de pila, ste es el registro cuyo contenido cambia mientras se
ejecuta el procedimiento.
Los procedimientos internos son aquellos que se declaran y semismo
programa, tambin son llamados procedimientos locales. Un ejemplo
de procedimiento interno es el siguiente:
; Procedimiento: GotoXY
; Descripcin: Coloca el cursor una posicin especifica de la pantalla
; Parmetros: Dl=X,Dh=Y
PROC GotoXY
xor bh,bh
mov ah,02h
int 10h
ret
endp GotoXY
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.

Instituto Tecnolgico Superior De


San Martn Texmelucan
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. Se
debe contar 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.
PUBLIC PROC1
; Se define como pblico
PROC1 PROC FAR ; comienzo del procedimiento (lejano)
(Instrucciones) ; Instrucciones del procedimiento
RET
; Instruccin para retornar
PROC1 ENDP
; Final del procedimiento
Para llamar a un procedimiento se utiliza la instruccin CALL:
CALL nombre_procedimiento
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

Instituto Tecnolgico Superior De


San Martn Texmelucan
INICIO: ;Punto de entrada al programa
Mov Dl,20 ;X=20
Mov Dh,10 ;Y=10
Call GotoXY ;GotoXY 20,10
Lea DX,Cad2 ;DX->Cad2 en Proc3.asm
Call Imprime_Cad ;Imprime Cad2
Lea DX,Cad1 ;DX->Cad1 en Proc2.asm
Call Imprime_Cad ;Imprime Cad1
Mov AX,04C00h ;Fin del programa
Int 21h ;
END INICIO
END

También podría gustarte