Una macro es un conjunto de instrucciones que se almacenan para que cuando se necesiten puedan ser ejecutadas de manera secuencial mediante una sola llamada
Se podría decir que es una mini-instrucción que es parte de una instrucción mas compleja formada por otras instrucciones mas sencillas.
Características
- Las macros se almacenan de forma propia al programa que las utiliza .
- Por la general las hacen funcionar con un conjunto de combinaciones en las teclas establecidas.
- La diferencia de un macroinstruccion y un programa es que estos se ejecutan de forma secuencia y no maneja ningún estilo de flujo de programa.
Ejemplo en EXCEL
La macro es encargada de ahorrarnos pasos en los trabajos que llevamos acabo un ejemplo que se puede dar es en el software excel.
En este ejemplo buscamos establecer aplicar una macro en la cual nos muestre una gráfica ya desarrollada al momento de ser requerida
Ya que activamos la macro automáticamente podemos ver los valores escritos en los cuadro representados como una gráfica.
Macros dentro de el lenguaje ensamblador
Funciones de una Macro
- Ahorrar código cuando se quiere hacer un proceso repetitivo.
- Menos errores al momento de realizar código repetitivo.
- Permite hacer uso de variables que son pasados como parámetros.
- Mayor seguridad en el código, se pueden invocar desde un archivo externo al programas ASM.
Ejemplo 1
en este ejemplo mostramos una macro que cargue un mensaje del segmento de datos a AX, así nos ahorramos 3 lineas de código al momento de imprimir una cadena.
inicio macro ;declaramos la macro, le damos el nombre de inicio
mov ax,@data ;Cargamos el segmento de datos.
mov ds,ax
mov dx,ax
endm
.model small
.stack 64
.data
msj db 'Este es mi primer macro', 10,13,'$'
.code
inicio ;Llamamos al macro, lo único que hace es cargar msj del segmento de datos.
mov ah,09h
lea dx,msj ;puede ser mov dx,offset msj
int 21h
mov ax,4c00h ;Sale del programa
int 21h
end
Programa corriendo
Macro multiplicación
La siguiente macro establece
una multiplicación entre un numero y un exponente