Macroprocesadores

Páginas: 6 (1290 palabras) Publicado: 7 de julio de 2012
MACROPROCESADORES
Los ensambladores y compiladores cuentan con macroprocesadores. Estos
permiten definir una abreviatura para representar una parte de un programa y
utilizar esa abreviatura cuantas veces sea necesario, esto evita redundar código al
programador, partes repetibles de programa.
Para utilizar una macro, primero hay que declararla. En la declaración se
establece el nombre que sele dará a la macro y el conjunto de instrucciones que
representará. Ejemplo:
MI MACRO
JMP 0
JMP 1
ENDM
La declaración se realiza una sola vez, pero la utilización o invocación a la
macro (macrollamada) puede hacerse cuantas veces sea necesario. La utilización
de macros posibilita la reducción del tamaño del código fuente, aunque el código
objeto tiende a ser mayor que cuando se utilizanfuncione.
Macroinstrucciones se les considera como una extensión de los lenguajes.
De manera similar se considera al procesador de macroinstrucciones o
macroprocesador como una extensión del ensamblador o compilador utilizado. El
macroprocesador se encarga, en una primera pasada, de registrar todas las
declaraciones de macros y de rastrear el programa fuente para detectar todas lasmacrollamadas. En cada lugar donde encuentre una macrollamada, el
macroprocesador hará la sustitución por las instrucciones correspondientes. A
este proceso de sustitución se le denomina expansión de la macro. El
macroprocesador elabora dos tablas para el manejo de las macros:
Una tabla de macronombres que consiste de los nombres de las macros y
un índice que le permite localizar la definición de lamacro en otra tabla llamada
tabla de macrodefiniciones.
Como su nombre lo indica, la tabla de macrodefiniciones contiene las
definiciones de todas las macros a utilizar en el programa.
MACROINSTRUCCIÓN es una pseudo operación o un conjunto de
instrucciones a la cual se le asigna un nombre para ser llamada y después
utilizar su código. Estas permiten escribir una versión abreviada de unprograma.
La tabla de nombres de macros es donde se almacenan las referencias de las
macroinstrucciones, la de códigos es donde se almacenan los códigos de cada
macro y la de argumentos los parámetros de cada macro.
Rutina vs macro una rutina es un procedimiento (en este caso un conjunto de
código) que es usado cada vez que se le llame. Una rutina al ser llamada dentro

de un programa hace queel código principal y se dirija a ejecutar el código de la
rutina, en cambio cuando se llama a una macro, el ensamblador llama al código
de la macro y lo implanta donde fue llamado, aumentando así el código fuente y
por consiguiente el objeto.

IMPORTANCIA TEORICA DE MACROEXPRESIONES Y USOS DE
UN MACROPROCESADOR
Una macroinstrucción (abreviada frecuentemente como macro), una macrorepresenta un grupo de proposiciones utilizadas comúnmente en el lenguaje de
programación fuente. El procesador de macros reemplaza cada macroinstrucción
con el grupo correspondiente de proposiciones del lenguaje fuente, lo que se
denomina expansión de macros. Por todo lo anterior, las macroinstrucciones
permiten al programador escribir una versión abreviada de un programa, dejando
que el procesadorde macros maneje los detalles internos. Las funciones básicas
de un procesador de macros son:
 Sustitución de líneas de código por una referencia simbólica.
 Calcular las direcciones efectivas de las referencias.
 Expansión de las referencias en un archivo intermedio.
El procesador de macros, como puede verse, no intenta ningún análisis ni
traducción a código objeto del programa fuente,más bien parece que el
procesador hace que aumente el tamaño de éste. Esto es un elemento clave para
el programador, pues el uso indiscriminado de macros puede hacer que el tamaño
del código objeto sea enorme y poco práctico, al contrario de las llamadas a
subrutinas. Claro que también se paga un precio alto por el empleo de las
llamadas, pues se pierde tiempo importante en la gestión de la...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Macroprocesadores
  • macroprocesos
  • Macroprocesadores
  • Macroprocesos siif
  • Macroproceso IPS
  • Mapa MAcroprocesos
  • macroproceso
  • macroprocesos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS