top of page

Macros en ensamblador

MACROS EN ENSAMBLADOR

Concepto

Una macro es un nombre que define un conjunto de instrucciones que serán sustituidas por la macro cuando el nombre de ésta aparezca en un programa (proceso denominado expansión de macros) en el momento de ensamblar el programa. Las instrucciones de macros se pueden guardar en el programa mismo o en un archivo separado que el programa pueda identificar.

Una macroinstrucción es una instrucción compleja, formada por otras instrucciones más sencillas. Esto permite la automatización de tareas repetitivas. Además tiene que estar almacenada, el término no se aplica a una serie de instrucciones escritas en la línea de comandos enlazadas unas con otras por redirección de sus resultados o para su ejecución consecutiva.

Las macros suelen almacenarse en el ámbito del propio programa que las utiliza y se ejecutan pulsando una combinación especial de teclas o un botón especialmente creado y asignado para tal efecto. La diferencia entre una macroinstrucción y un programa es que en las macroinstrucciones la ejecución es secuencial y no existe otro concepto del flujo de programa que por tanto, no puede bifurcarse.

Si bien es cierto que las macros proporcionan mayor flexibilidad a la hora de programar, también es cierto que tienen algunas desventajas.

Ventajas y Desventajas

Ventajas:

• Menor posibilidad de cometer errores por repetición.

• Mayor flexibilidad en la programación al permitir el uso de parámetros.

• Código fuente más compacto.

• Al ser más pequeño el código fuente, también es más fácil de leer por otros.

Desventajas:

• El código ejecutable se vuelve más grande con cada llamada a la macro.

• Las macros deben ser bien planeadas para evitar la redundancia de código.

Ejemplo de Macros en Ensamblador

 

PROCEDIMIENTOS EN ENSAMBLADOR

Concepto

Es una colección de instrucciones que realizan una tarea específica. Dependiendo de su extensión y complejidad, un programa puede contener uno, algunos o inclusive cientos de procedimientos. Para emplear un procedimiento en un programa se requiere definirlo y llamarlo. Al definir un procedimiento escribimos las instrucciones que contiene. Al llamar al procedimiento transferimos el fluijo al procedimiento para que sus instrucciones se ejecuten.

Un procedimiento en ensamblador es aquel que inicie con la palabra PROC y termine con la palabraRET.

Las partes que componen a un procedimiento son:

• Declaración del procedimiento

• Código del procedimiento

• Directiva de regreso

• Terminación del procedimiento

Las macros ofrecen una mayor flexibilidad en la programación comparadas con los procedimientos, pero no por ello se dejarán de utilizar estos últimos.

La organización de un programa en procedimientos proporciona los beneficios siguientes:

  1. Reduce la cantidad de código, ya que un procedimiento común puede ser llamado desde cualquier lugar en el segmento de código.

  2. Fortalece la mejor organización del programa.

  3. Facilita la depuración del programa, ya que los errores pueden ser aislados con mayor claridad.

  4. Ayuda en el mantenimiento progresivo de programas, ya que los procedimientos son identificados de forma rápida para su modificación.

Tipos de Procedimientos

Llamada y regreso cercanos. Una llamada (CALL) a un procedimiento dentro del mismo segmento es cercana y realiza lo siguiente:

  • Disminuye el SP en 2 (una palabra)

  • Mete el IP (que contiene el desplazamiento de la instrucción que sigue al CALL) en la pila.

  • Inserta la dirección del desplazamiento del procedimiento llamado en el IP (esta operación vacía el resultado de la instrucción previamente procesada)

Un RET que regresa desde un procedimiento cercano realiza lo siguiente:

* Saca el antiguo valor de IP de la pila y lo envía al IP (lo cual también vacía el resultado de la instrucción previamente procesada).

* Incrementa el SP en 2.

Ahora el CS:IP apunta a la instrucción que sigue al CALL original en la llamada del procedimiento, en donde se reasume la ejecución.

Llamada y regreso lejanos. Una llamada (CALL) lejana llama a un procedimiento etiquetado con FAR, tal vez en un segmento de código separado. Un CALL lejano mete a la pila al CS y al IP, y RET los saca de la pila.

Un buen procedimiento debe:

  • Hacer solo una tarea.

  • Ser tan pequeño como sea posible y tan largo como sea necesario.

  • Contener un comentario con su proposito, datos de entrada y salida.

  • Entenderse por si solo.

  • Funcionar como lo haría una instrucción del microprocesador.

  • No usar variables globales ni para recibir datos, ni regresar un resultado, ni almacenar temporalmente resultados intermedios.

Ejemplo de Procedimiento en Ensamblador


Estrategia de Negocios

 

CURSO GRATUITO 
(Valuado en 250 )
 

Aprende todo lo que necesitas saber sobre cómo hacer una estrategia de negocios exitosa.

Business Plan

Writing A-Z

 
FREE COURSE
(Valued at $250)
 

Learn all you need in order to create a

stellar business plan for your endeavor!

Mi Libro
 

Párrafo. Haz clic aquí para agregar tu texto y editar. Permite que tus usuarios te conozcan.

Búsqueda por Tags
No hay tags aún.
  • Facebook Black Round
  • Google+ Black Round
  • Tumblr Black Round

© 2023 por TuCamino. Creado con Wix.com

  • Facebook Black Round
  • Google+ Black Round
  • Tumblr Black Round
bottom of page