Documente Academic
Documente Profesional
Documente Cultură
UNIDAD III
MODULARIZACIN
TABLA DE CONTENIDO
Contenido
3.1 Procedimientos
3.2 Macros
Referencias o Bibliografa
3.0 Modularizacin
Es uno de los mtodos de diseo ms flexibles y poderosos para el mejoramiento
de la productividad de un programa este se dividen en macros y
procedimientos.
3.1 Procedimientos
Es una porcin de cdigo que permanece localizada en la memoria y a la que
podemos acceder cuantas veces queramos para ejecutar un proceso y retornar
posteriormente a la ejecucin de un programa. Esto ltimo no tiene que ser
siempre cierto, si bien es lo estipulado, pues podemos terminar el programa
dentro de un procedimiento y por tanto no devolvemos la ejecucin. Los
procedimientos se utilizan para clasificar el cdigo, para hacerlo ms legible,
verstil, lgico y fcil de programar. Aunque reduce el tamao del cdigo, se
pierde en velocidad de ejecucin, normalmente de forma inapreciable.
Este se divide en tres:
-CERCANAS: son aquellos que se encuentran dentro del mismo segmento por el
que son llamados. En MASM podemos aadir sufijo NEAR al nombre del
procedimiento, aunque no es necesario porqu es el tipo por defecto. Terminan
con la orden RET que recoge de la pila el valor guardado del registro IP.
Utilizaremos la orden CALL para llamarlos.
-LEJANAS: se hallan fuera del segmento que los llama. En MASM podemos aadir
el sufijo FAR al nombre del procedimiento para indicar que son lejanos, por lo
que podremos llamarlos con un simple CALL. Terminar con la orden RETF de
return Far. Si no hemos usado el sufijo FAR al nombre del procedimiento
deberemos usar antes del CALL un PUSH CS para llamarlos (este ser en cado
sobre todo de los compiladores NASM y FASM).
-INTERRUPCIONES: podremos definir nuestras propias interrupciones como
simples procedimientos (aunque no es lo habitual ni lo ms cmodo puesto que
solo se pueden definir un mximo de 256 interrupciones en su mayor parte ya que
ocupadas por el sistema). Con la particularidad de que siempre deben ser lejanos,
terminar con la orden IRET que recoger de la pila la doble palabra CS: IP y el
registro de banderas, por lo que antes de hacer una llamada lejana a un
procedimiento con CALL deberemos mater en una pila el registro de banderas con
PUSHF. Otra forma de llamarlas es simplemente con INT [num]
VENTAJAS:
Pgina 1
-Reducen el cdigo
- hacen ms legible el programa.
Desventajas:
-Hacen ms lenta la ejecucin del programa.
-Su declaracin es un poco ms compleja.
- un procedimiento no puede recibir parmetros.
Ejemplo:
3.2 Macros
Es un nombre que define un conjunto de instrucciones que sern sustituidas para
la macro cuando el nombre de esta aparezca en un programa (proceso
denominado expansin de macros) en el momento de ensamblar el programa. Las
macros se utilizan para simplificar y reducir la cantidad de codificacin repetitiva,
reducir errores causados por la codificacin repetitiva, linealizar un programa en
ensamblador (para hacerlo ms legible).
Ventajas:
Pgina 2
DONDE:
<<Etiqueta>> es el nombre con el que llamaremos al macro, mismo nombre con
que podremos invocar en cualquier parte del programa principal.
<<Macro>> es la directiva del ensamblador MPLAB que declara al macro.
<<arg 1<>arg2>><arg n> son etiquetas textuales que tomara el
ensamblador como son nmeros, variables o etiquetas, las cuales dependern de
la funcin especfica del macro definido por el usuario.
<Instrucciones>son todo el cdigo en el lenguaje ensamblador que realizara la
funcin especfica del macro.
<endm> directiva del ensamblador que indica el fin del macro.
MACRO INTERNA
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_parmetros).Una macro interna es aquella que se declara y se
llaman dentro del mismo programa.Una macro consta de tres partes
esenciales:
a) CABECERA: Contiene el nombre de la macro la pseudo-op MACRO y
opcionalmente,variables ficticias que sern pasadas desde la macro.
Pgina 3
Pgina 4
Pgina 5
3.2 Macros
Este conjunto de instrucciones es invocado Como una sola instruccin o
macroinstruccin. Para emplear una macro en un programa debemos de definir la
macro e invocar la macro. La definicin de una macro establece el nombre al que se le
asocia la macro, el nmero y nombre de sus parametros formales y qu instrucciones
contiene la macroinstruccin.
Realizada por: Diana Santana De la Rosa.
3.1 Procedimientos
Un procedimiento es un conjunto de instrucciones que tienen la finalidad de ejecutar
unatarea especifica dentro de un programa. Los procedimientos son muy
similares a lasmacros.Un procedimiento es un conjunto de instrucciones a los que
podemos dirigir el flujo denuestro programa, y una vez terminada la ejecucin de
dichas instrucciones se devuelve elcontrol a la siguiente lnea a procesar del cdigo
que
mando
llamar
al
procedimiento.
Un 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. Los procedimientos nos ayudan a crear programas legibles y
fciles
demodificar. Sintaxis de un procedimiento Existen dos tipos de procedimientos, losintra
segmentos, que se encuentran en el mismo segmento de instrucciones y losintersegm
entos que pueden ser almacenados en diferentes segmentos de memoria.
Pgina 6
3.2 Macros
Una macro es un grupo de instrucciones repetitivas en un programa que se codifican
solouna vez y pueden utilizarse cuantas veces sea necesario. La principal diferencia
entre unamacro y un procedimiento es que en la macro se hace posible el paso de
parmetros
y
en
el procedimiento no (esto es aplicable solo para el TASM, hay otros lenguajes de progra
macin que si lo permiten). Al momento de ejecutarse la macro cada parmetro
essustituido por el nombre o valor especificado al momento de llamarla.Podemos
decir entonces que un procedimiento es una extensin de un determinado programa,
mientras que la macro es un mdulo con funciones especficas que puede ser utilizado
por diferentes programas. Otra diferencia entre una macro y un procedimiento esla
forma de llamar a cada uno, para llamar a un procedimiento se requiere el uso de
unadirectiva, en cambio la llamada a las macros se realiza como si se tratara de una
instruccindel ensamblador.
Realizada por: Rosa Maria Ramirez Avila.
Pgina 7