Mofularizacion

Solo disponible en BuenasTareas
  • Páginas : 23 (5696 palabras )
  • Descarga(s) : 0
  • Publicado : 10 de enero de 2012
Leer documento completo
Vista previa del texto
EJEMPLOS
! MACRO INTERNO
Una macro, es un conjunto de instrucciones que se pueden mandar a llamar desde cualquier parte del programa.
Para definir una macro, se utiliza la directiva MACRO. El formato de esta directiva es :
(nombre_de_macro) MACRO (lista_parámetros)
Una macro consta de tres partes esenciales:
a) CABECERA: Contiene el nombre de la macro, la pseudo-op MACRO y opcionalmente,variables ficticias que serán pasadas desde la macro.
b) CUERPO: Contiene el código real que será insertado en cualquier programa que llame al nombre de la macro.
c) FIN: Debe incluir la sentencia ENDM.
Ejemplo de una macro sencilla:
INICIO MACRO ; Define macro
MOV AX, DATA ; cuerpo deMOV DS, AX ; la definición
MOV ES, AX ; de la macro
ENDM ; Fin de la macro
El nombre de esta macro es INICIO, aunque es aceptable cualquier otro nombre válido que sea único. La directiva MACRO en la primer línea indica al ensamblador que las instrucciones quesiguen, hasta ENDM (“fin de la macro”), son parte de la definición de la macro.
La directiva ENDM termina la definición de la macro. Las instrucciones entre MACRO y ENDM comprenden el cuerpo de la definición de la macro. Si su programa realiza frecuentemente funciones de entrada/salida, las macros ofrecen la facilidad de codificar una sola vez un conjunto de instrucciones y reutilizar el códigocuantas veces desee dentro de su programa.
Una macro es una pseudo-op que permite el establecimiento de operaciones únicas en ensamblador o la inclusión de frecuentes llamadas de código ensamblador. Una macro también se puede definir como un grupo de instrucciones repetitivas en un programa que se codifica sólo una vez y puede utilizarse cuantas veces sea necesario. [1]
Internas.
Una macrointerna es aquella que se declara y se llaman dentro del mismo programa.
Una macro interna se declara de la siguiente manera:
Sintaxis:
MACRO [parámetros]

ENDM
Ejemplo:
Duplica AL? MACRO

SHL AL, 1

ENDM
Código que la usa:
MOV AL, 2
Duplica AL ; Esta es la “llamada” al macroEl ensamblador sustituye cada vez que aparezca la macro. No es como los procedimientos, que se “llaman” pero no repiten el código Ejemplo:
MOV AL, 2
Duplica AL ; CALL Duplica
Duplica AL ; CALL Duplica
Este código queda:
MOV AL, 2
SHL AL, 1 ; CALL Duplica
SHL AL, 1 ; CALL Duplica
Cuándo usarlas y cuándo no
1.- Cuando se quiere el código más rápido y no importa ser repetitivo (códigogrande)
2.-Cuando se van a generar diversas variantes de código similar
3.-No cuando se quiere código compacto, evitando repetir el mismo (en este caso, usar procedimientos). [2]

Procedimientos Externos Lenguaje Ensamblador
-------------------------------------------------
Principio del formulario
 
Final del formulario
‘’‘Definición de procedimiento Un procedimiento es un conjunto deinstrucciones a los que podemos dirigir el flujo de nuestro programa, y una vez terminada la ejecución de dichas instrucciones se devuelve el control a la siguiente linea a procesar del código que mando llamar al procedimiento. Un procedimiento se declara una sola vez en el código fuente y cuando el programa se ensambla y ejecuta, el procedimiento se coloca en memoria para que pueda ser utilizado por elprograma. Los procedimientos nos ayudan a crear programas legibles y fáciles de modificar. Al momento de invocar a un procedimiento se guarda en la pila la dirección de la siguiente instrucción del programa para que, una vez transferido el flujo del programa y terminado el procedimiento, se pueda regresar a la linea siguiente del programa original (el que llam— al procedimiento). Sintaxis de un...
tracking img