0 calificaciones0% encontró este documento útil (0 votos)
29 vistas14 páginas
Este documento describe macros y procedimientos en ensamblador. Las macros son conjuntos de instrucciones repetitivas que se definen una vez y pueden llamarse muchas veces, lo que hace que el código sea más compacto. Los procedimientos también contienen conjuntos de instrucciones, pero se almacenan en memoria y se llaman con CALL, lo que ahorra memoria al no duplicar el código. Ambos permiten estructurar mejor el programa y reducir errores.
Este documento describe macros y procedimientos en ensamblador. Las macros son conjuntos de instrucciones repetitivas que se definen una vez y pueden llamarse muchas veces, lo que hace que el código sea más compacto. Los procedimientos también contienen conjuntos de instrucciones, pero se almacenan en memoria y se llaman con CALL, lo que ahorra memoria al no duplicar el código. Ambos permiten estructurar mejor el programa y reducir errores.
Este documento describe macros y procedimientos en ensamblador. Las macros son conjuntos de instrucciones repetitivas que se definen una vez y pueden llamarse muchas veces, lo que hace que el código sea más compacto. Los procedimientos también contienen conjuntos de instrucciones, pero se almacenan en memoria y se llaman con CALL, lo que ahorra memoria al no duplicar el código. Ambos permiten estructurar mejor el programa y reducir errores.
MACROS Las macros se tienen que definir antes de utilizarlas (o copiarlas una biblioteca de macros). No debe de crearse una macro para usarse slo una vez, esa macro puede utilizarse en una biblioteca para todos los programas.
CMO SABER, SI CREAR UNA MACRO O NO? Algunas desventajas de ensamblador: Una de las principales desventajas de la programacin en lenguaje ensamblador es la repeticin constante de ciertos bloques de instrucciones. Ejemplo el siguiente conjunto de instrucciones nos permite imprimir una variable de tipo cadena en la pantalla:
Lea DX,Cadena ; Direccionar la cadena Mov AH,09h ; Usar la funcin 09h para imprimir cadenas Int 21h ; llamada a la interrupcin 21h
Si necesitamos que el programa muestre mensajes constantemente, se debe de repetir o duplicar este conjunto de instrucciones por cada mensaje que se desea enviar a pantalla.
El programa crece considerablemente, y mientras ms grande sea el programa, ms difcil ser encontrar la algn error cuando ste ocurra. La solucin es utiizar MACROS, la cual se declara slo una vez, y posterior slo es necesario indicar su nombre en el cuerpo del programa y ensamblador se encargara de reemplazar la macroinstruccin por la instrucciones de la macro (expansin de la macro).
FORMATO DE MACRO: .MACRO Nombre [(parametro1, parametro2, etc)] instrucciones ENDM Nota: lo que se encuentra entre parntesis cuadrados es opcional.
EJEMPLO:
Recordemos: Una macro es declarada una sola vez y puede ser llamada cuantas veces sea necesario dentro del cuerpo del programa. Cada vez que el ensamblador encuentra una macroinstruccin, verifica si sta fue declarada; si esta verificacin es exitosa, el ensamblador toma las instrucciones del cuerpo de la macro y las reemplaza en el lugar donde la macro fue llamada.
Ejemplo. Esta macro realiza una pausa en el programa hasta que una tecla se presione. Es el equivalente del readkey en Pascal.
.MACRO tecla mov ah,10h int 16h ENDM
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. Cuando se hace referencia a una macro, el cdigo que sta representa se expande en el programa definitivo, duplicndose tantas veces como se use la macro.
Las subrutinas es conveniente realizarlas con objeto de economizar memoria. Es cierto que las macros son algo ms rpidas que las subrutinas (se ahorra un CALL y un RET) pero la diferencia La diferencia entre una macro y una subrutina es tan mnima. Como se declara una macro? MACROS: Declaracin: <nombre de la macro> MACRO <instrucciones de la macro> ENDM Llamada: <nombre de la macro> Ventajas y Desventajas
Ventajas: Menor posibilidad de cometer errores por repeticin. Mayor flexibilidad en la programacin al permitir el uso de parmetros. Cdigo fuente ms compacto. Al ser ms pequeo el cdigo fuente, tambin es ms fcil de leer por otros. Desventajas: El cdigo ejecutable se vuelve ms grande con cada llamada a la macro. Las macros deben ser bien planeadas para evitar la redundancia de cdigo.
Procedimiento Conjunto de instrucciones que tienen la finalidad de ejecutar una tarea especifica dentro de un programa. Los procedimientos son muy similares a las macros. El procedimiento se declara una sola vez en el cdigo fuente y cuando el programa se ensambla y ejecuta, el procedimiento se coloca en memoria para que pueda ser utilizado por el programa.
ventajas: Permiten una codificacin ms limpia y compacta, es decir el cdigo fuente es ms pequeo. Ahorro de memoria, esto es porque un mismo procedimiento puede ser llamado varias veces en el mismo programa y slo requiere memoria una vez.
Formato:
PROC nombre instruccin instruccin .... RET */indica terminacin de instrucciones ENDP NOMBRE */ fin del procedimiento
Procedimiento, el cual limpia pantalla.
PROC Imprime_Cad Mov Ah,09h Int 21h Ret ENDP Imprime_Cad END
Llamada a los procedimientos.
Son llamados por los programas por medio de la instruccin CALL, seguida del nombre del procedimiento.