MACROS Y EJEMPLOS EN PROGRAMA
- carlooscapistran
- 23 may 2016
- 2 Min. de lectura
Una macro es una serie de instrucciones que se almacenan para que se puedan ejecutar de manera secuencial mediante una sola llamada u orden de ejecución. Dicho de otra manera, un macroinstrucción es una instrucción compleja, formada por otras instrucciones más sencillas. Esto permite la automatización de tareas repetitivas.
Las macros tienden a 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 un macroinstrucción y un programa es que en los macroinstrucciones la ejecución es secuencial y no existe otro concepto del flujo de programa.
Macros en Ensamblador
Un sencillo ejemplo pero muy esencial al momento de desarrollar programas en ASM un poco más complejos, es el uso de macros.
Las macros son instrucciones complejas formadas de instrucciones más sencillas, sirven cuando se quieren hacer procesos repetitivos.
Los macros sirven para:
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.
Las macros se definen al inicio de un programa, antes de .model:
nombreMacro MACRO [parametros] ;Los parámetros son opcionales. instrucciones... ENDM ;Indica fin del macro.
Como primer programa haremos que un macro 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
Entradas recientes
Ver todoHola Mundo: http://nuyoo.utm.mx/~jjf/le/pe04_hol.pdf Identidad: http://nuyoo.utm.mx/~jjf/le/pe05_id2.pdf Borrar pantalla:...
Comentarios