Ensamblador

Páginas: 22 (5500 palabras) Publicado: 29 de agosto de 2011
UNIDAD III.

MODULARIZACIÓN

1. MACROS.
1. Internas.
2. Externas

2. PROCEDIMIENTOS.
1. Internos.
2. Externos.

3.1 MACROS.

Introducción.

Para cada instrucción simbólica que se codifica, el ensamblador genera una instrucción de lenguaje máquina. Pero paracada enunciado codificado en un lenguaje de alto nivel como C o Pascal, el compilador genera muchas instrucciones de lenguaje máquina. A este respecto, puede pensar en un lenguaje de alto nivel como consistente de macro enunciados.

El ensamblador tiene facilidades que el programador puede utilizar para definir macros. Usted define un nombre específico para la macro, junto con el conjunto deinstrucciones del lenguaje ensamblador que la macro va a generar. Después, siempre que necesite codificar el conjunto de instrucciones, sólo codifique el nombre de la macro y el ensamblador genera de manera automática las instrucciones que usted definió.

Las macros son útiles para los siguientes propósitos:

• Simplificar y reducir la cantidad de codificación repetitiva.
• Reducirerrores causados por la codificación repetitiva.
• Linealizar un programa en lenguaje ensamblador para hacerlo más legible.

Ejemplos de funciones que pueden ser implementadas por macros son operaciones de entrada/salida que cargan registros y realizan interrupciones, conversiones de información ASCII y binaria, aritmética de palabras múltiples, rutinas para el manejo de cadenas de caracteres ydivisión por sustracción.

Cuando un conjunto de instrucciones en ensamblador aparecen frecuentemente repetidas a lo largo de un listado, es conveniente agruparlas bajo un nombre simbólico que las sustituirá en aquellos puntos donde aparezcan. Esta es la misión de las macros; por el hecho de soportarlas el ensamblador eleva su categoría a la de macroensamblador, al ser las macros una herramientamuy cotizada por los programadores.

No conviene confundir las macros con subrutinas: es estas últimas, el conjunto de instrucciones aparece una sola vez en todo el programa y luego se invoca con CALL. Sin embargo, cada vez que se referencia a una macro, el código que ésta representa se expande en el programa definitivo, duplicándose tantas veces como se use la macro. Por ello, aquellas tareasque puedan ser realizadas con subrutinas siempre será más conveniente realizarlas con las mismas, con objeto de economizar memoria. Es cierto que las macros son algo más rápidas que las subrutinas (se ahorra un CALL y un RET) pero la diferencia es tan mínima que en la práctica es despreciable en el 99,99% de los casos. Por ello, es absurdo e irracional realizar ciertas tareas con macros que puedenser desarrolladas mucho más eficientemente con subrutinas: es una pena que en muchos manuales de ensamblador aún se hable de macros para realizar operaciones sobre cadenas de caracteres, que generarían programas gigantescos con menos de un 1% de velocidad adicional.

1. Macros internas.

Como ya se menciono anteriormente, una macro se utiliza cuando un conjunto de instrucciones enensamblador aparecen frecuentemente repetidas a lo largo de un listado, es conveniente agruparlas bajo un nombre simbólico que las sustituirá en aquellos puntos donde aparezcan, se dice que es una macro interna si dicho conjunto de instrucciones (macro) es declarado dentro del programa que lo esta invocando.

2. Macros externas.

DEFINICIÓN Y BORRADO DE LAS MACROS.

La macro se define por medio dela directiva MACRO. Es necesario definir la macro antes de utilizarla. Una macro puede llamar a otra. Con frecuencia, las macros se colocan juntas en un fichero independiente y luego se mezclan en el programa principal con la directiva INCLUDE:

IF1
INCLUDE fichero.ext
ENDIF
La sentencia IF1 asegura que el...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • ensamble
  • Ensamblador
  • Ensambles
  • Ensamblado
  • ENSAMBLE
  • Ensamblado
  • Ensamblador
  • Ensamblador

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS