Este documento resume la unidad 3 sobre procedimientos y macros. Explica que los procedimientos son conjuntos de instrucciones que ejecutan tareas específicas, mientras que las macros permiten codificar instrucciones repetitivas una sola vez y reutilizarlas. También describe la sintaxis y tipos de procedimientos y macros, así como sus diferencias y ventajas.
Síntesis de macros, procedimientos y su comparativa
1. Síntesis de información recopilada
Unidad 3
Pérez Camacho Jesús Asmeth
Ingeniería en Sistemas Computacionales,
Instituto Tecnológico de Tuxtla Gutiérrez,
Tuxtla Gutiérrez Chiapas
killerMstr1@gmail.com
Abstract—En este documento se recopila toda la información
sobre la unidad 3 de lenguajes de interfaz y se realiza una breve
y sintetizada descripción de cada subtema que corresponde a la
unidad.
I. INTRODUCCIÓN
Procedimientos y macros básicamente es crear varias rutinas
(funciones o procedimientos) y a si segmentar el código
y hacerlo más entendible para el programador ya sea para
actualizaciones o depuraciones este enfoque de segmentación
o modularización es útil en dos casos: Cuando existe un grupo
de instrucciones o una tarea específica que deba ejecutarse en
más de una ocasión.
II. DESARROLLO DE CONTENIDOS
Cuando un problema es complejo o extenso, la solución
se “divide” o “segmenta” en módulos que ejecutan “partes” o
tareas específicas. Dicha solución se organiza de forma similar
a como lo hacen las empresas cuando se estructuran con
base en las funciones para realizar sus actividades; en otras
palabras, el trabajo se divide en partes que sean fácilmente
manejables y que, lógicamente, puedan ser separadas; así, cada
una de estas partes se dedica a ejecutar una determinada tarea,
lo que redundara en una mayor concentración, entendimiento
y capacidad de solución a la hora de diseñar la lógica de
cada una de estas. Dichas partes son módulos o segmentos del
algoritmo, algunos de ellos son los módulos directivos o de
control, que son los que se encargaran de distribuir el trabajo
de los demás módulos. De esta manera se puede diseñar un
organigrama que indique la estructura general de un algoritmo.
A. PROCEDIMIENTOS
Un procedimiento es un conjunto de instrucciones que
tienen la finalidad de ejecutar una tarea específica 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 ejecución de dichas instrucciones se devuelve
el control a la siguiente línea a procesar del código que mando
llamar al procedimiento. Un procedimiento se declara una sola
vez en el código fuente y cuando el programa se ensambla y
ejecuta, el procedimiento se coloca en memoria para que pueda
ser utilizado por el programa. Los procedimientos nos ayudan
a crear programas legibles y fáciles demodificar. Sintaxis
de un procedimiento existen dos tipos de procedimientos,
losintrasegmentos, que se encuentran en el mismo segmento de
instrucciones y losintersegmentos que pueden ser almacenados
en diferentes segmentos de memoria.
Las partes que componen a un procedimiento son:
• Declaración del procedimiento
• Código del procedimiento
• Directiva de regreso
• Terminación del procedimiento
Las principales ventajas en el uso de procedimientos son:
permiten una codificación más limpia y compacta, es decir el
código fuente es más pequeño; también permiten el ahorro de
memoria, esto es porque un mismo procedimiento puede ser
llamado varias veces en el mismo programa y sólo requiere
memoria una vez. Los procedimientos tienen la desventaja de
que reducen la velocidad de ejecución de los programas, esto
se debe a la forma en que los procedimientos se ejecutan. A
continuación se presentan los pasos necesarios para ejecutar
un
Procedimiento:
1.- Se encuentra la llamada Call
2.- El microprocesador almacena en la Pila el contenido del
IP
3.- Se coloca en el IP el valor del desplazamiento corre-
spondiente al Procedimiento
4.- El microprocesador ejecuta las instrucciones del proced-
imiento
5.- El procedimiento termina cuando se encuentra la instruc-
ción Ret
6.- Se saca de la pila el valor original del IP y se continua
el flujo del programa.
1) INTERNOS: Los procedimientos internos son aquellos
que se declaran y se llaman dentro del mismo programa, tam-
bién son llamados procedimientos locales. El listado anterior
muestra la forma de utilizar procedimientos internos.
2) EXTERNOS: Los procedimientos externos, a diferencia
de los internos, se declaran en módulos o programas sep-
arados 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 públicos en el programa donde se encuentran y que sean
2. llamados como externos en el programa donde serán usados.
Cuenta con tres directivas de ensamble:
.PUBLIC para declarar los procedimientos como públicos
. EXTERN para indicar que el procedimiento que se va a
usar está fuera del programa y
.INCLUDE para enlazar el programa que se desee utilizar.
B. MACROS
Una macro es un grupo de instrucciones repetitivas en un
programa que se codifican solo una vez y pueden utilizarse
cuantas veces sea necesario. La principal diferencia entre
una macro y un procedimiento es que en la macro se hace
posible el paso de parámetros y en el procedimiento no
(esto es aplicable solo para el TAS hay otros lenguajes de
programación que si lo permiten). Al momento de ejecutarse
la macro cada parámetro es sustituido por el nombre o valor
especificado al momento de llamarla.
Podemos decir entonces que un procedimiento es una ex-
tensión de un determinado programa, mientras que la macro es
un módulo con funciones específicas que puede ser utilizado
por diferentes programas. Otra diferencia entre una macro y un
procedimiento es la forma de llamar a cada uno, para llamar
a un procedimiento se requiere el uso de una directiva, en
cambio la llamada a las macros se realiza como si se tratara
de una instrucción del ensamblador.
Una macro es un conjunto de instrucciones que se pueden
mandar a llamar desde cualquier parte del programa.
1) INTERNA: Para definir una macro, se utiliza la directiva
MACRO. El formato de esta directiva es :
(nombre_de_macro) MACRO (lista_parámetros)
Una macro consta de tres partes esenciales:
a) CABECERA: Contiene el nombre de la macro, la pseudo-
op MACRO y opcionalmente, variables ficticias que serán
pasadas desde la macro.
b) CUERPO: Contiene el código real que será insertado en
cualquier programa que llame al nombre de la macro.
c) FIN: Debe incluir la sentencia ENDM.
Ejemplo de una macro sencilla:
INICIO MACRO ; Define macro MOV AX, DATA ; cuerpo
de MOV DS, AX ; la definición MOV ES, AX ; de la macro
ENDM
Internas.
Una macro interna es aquella que se declara y se llaman
dentro del mismo programa.
2) EXTERNA: Macros externas o biblioteca (librería) de
macros:
Una de las facilidades que ofrece el uso de las macros es
la creación de bibliotecas, las cuales son grupos de macros
que pueden ser incluidas en un programa desde un archivo
diferente.
La creación de estas bibliotecas es muy sencilla, unicamente
tenemos que escribir un archivo con todas las macros que se
necesitarán y guardarlo como archivo de texto. Para llamar a
estas macros solo es necesario utilizar la instrucción Include
NombreDelArchivo, en la parte de nuestro programa donde
escribiriamos normalmente las macros, esto es, al principio
de nuestro programa (antes de la declaración del modelo de
memoria). Suponiendo que se guardó el archivo de las macros
con el nombre de MACROS.TXT la instrucción Include se
utilizaría de la siguiente forma:
;Inicio del programa
Include MACROS.TXT
.MODEL SMALL .DATA
;Aqui van los datos
.CODE Inicio:
;Aqui se inserta el código del programa
.STACK
;Se define la pila End Inicio
;Termina nuestro programa
Fig. 1. Comparativa entre Macros y Procedimientos
III. CONCLUSIÓN
Un procedimiento es un conjunto de instrucciones que
tienen la finalidad de ejecutar una tarea específica dentro de
un programa. Los procedimientos son muy similares a las
macros.Las macros ofrecen la facilidad decodificar una sola
vez un conjunto de instrucciones y reutilizar el código cuantas
veces desee dentro del programa.La principal diferencia entre
una macro y un procedimiento esque en la macro se hace
posible el paso de parámetros.
REFERENCES
[1] https://sites.google.com/site/microcontroladoresmicrochip/programacion/sintaxis-
de-un-macro
[2] http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r90594.PDF
[3] https://www.google.com.mx/url?sa=t&rct=j&q=&esrc=s&source=web&cd=50&ved=0CE
oyASmmoLICQ&usg=AFQjCNHxEaNBD7G-
ZeouxR1YYPlsY1Hf2A&sig2=ypfkH2EETnQye5e7pAk5PA&bvm=bv.88528373,d.aWw