You are on page 1of 14

NDICE

3. Modularizacin.....3 3.1 Procedimientos...4 3.1.1.- Procedimientos internos.......7 3.1.2.- Procedimientos externos...8 3.2 Macros...9 3.2.1.- Macros externas.....12 3.2.2.- Macros internas..13 Bibliografa...14

3.- MODULARIZACIN
Modularizacin es particionar un sistema de acuerdo a ciertas restricciones y principios de diseo, as como una estrategia de desarrollo, gobernando las partes resultantes. Modularizacin bsicamente es crear varias rutinas (funciones o procedimientos) y as segmentar el cdigo y hacerlo mas entendible para el programador ya sea para actualizaciones o depuraciones. Un modulo es un segmento, rutina, subrutina, sub algoritmo o procedimiento, que puede definirse dentro de un algoritmo con el fin de ejecutar una tarea especifica y puede ser llamado o invocado desde el algoritmo principal cuando sea necesario. Este enfoque de segmentacin o Modularizacin es til en dos casos: Cuando existe un grupo de instrucciones o una tarea especfica que deba ejecutarse en ms de una ocasin. Cuando un problema es complejo o extenso, la solucin se divide o segmenta en mdulos que ejecutan partes o tareas especificas. Dicha solucin se organiza de forma similar a como lo hacen las empresas cuando se estructuran con base en las funciones para realizar sus actividades; en otras palabras, el trabajo se divide en partes que sean fcilmente manejables y que, lgicamente, puedan ser separadas; as, cada una de estas partes se dedica a ejecutar una determinada tarea, lo que redundara en una mayor concentracin, entendimiento y capacidad de solucin a la hora de disear la lgica de cada una de estas. Dichas partes son mdulos o segmentos del algoritmo, algunos de ellos son los mdulos directivos o de control, que son los que se encargaran de distribuir el trabajo de los dems mdulos. De esta manera se puede disear un organigrama que indique la estructura general de un algoritmo. La programacin modular es uno de los mtodos de diseo mas flexibles y poderosos para el mejoramiento de la productividad de un programa. Usando la programacin modular el problema se divide en mdulos, donde cada una de los cuales ejecuta una nica actividad o tarea y se codifican independientemente de otros mdulos. Cada uno de estos mdulos se analiza, se codifica y se prueba de preferencia por separado.

DAVID MONTIEL RAMIREZ

3.1 PROCEDIMIENTOS
Son un conjunto de instrucciones a los que podemos dirigir el flujo de nuestro programa, y una vez terminada la ejecucin de dichas instrucciones se devuelve el control a la siguiente lnea a procesar, del cdigo que mando llamar al procedimiento. Procedimiento o subrutina. Estas son un grupo de instrucciones que, desempean una tarea. Es una seccin de un programa que se puede volver a utilizar y que se almacena en memoria, pero se emplea tantas veces como se necesite, a la vez ahorra espacio en la memoria. La desventaja de usar procedimientos es que la computadora requiere tiempo para ligarse con los procedimientos y regresar desde l. Un procedimiento es un conjunto de instrucciones que tienen la finalidad de ejecutar una tarea especfica dentro de un programa. Los procedimientos son muy similares a las macros. Un procedimiento es un conjunto de instrucciones a los que podemos dirigir el flujo de nuestro programa, y una vez terminada la ejecucin de dichas instrucciones se devuelve el control 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 de modificar. Sintaxis de un procedimiento Existen dos tipos de procedimientos, los intrasegmentos, que se encuentran en el mismo segmento de instrucciones y los intersegmentos que pueden ser almacenados en diferentes segmentos de memoria. Las partes que componen a un procedimiento son: Declaracin del procedimiento Cdigo del procedimiento Directiva de regreso Terminacin del procedimiento

DAVID MONTIEL RAMIREZ

Sintaxis: nombreprocedimiento PROC NEAR o FAR . . RET nombrerpocedimiento ENDP NEAR. Procedimientos internos. FAR. Procedimientos externos. Ejemplo: Rutina que sume dos bytes, almacenados en AH y AL cada uno y guardar la suma en el registro BX. SUMA PROC NEAR MOV BX, 0 MOV BL, AH MOV AH, 00 ADD BX, AX RET SUMA ENDP Desventajas y ventajas Las principales ventajas en el uso de procedimientos son: permiten una codificacin ms limpia y compacta, es decir el cdigo fuente es ms pequeo; tambin permiten el ahorro de memoria, esto es porque un mismo procedimiento uede ser llamado varias veces en el mismo programa y slo requiere memoria una vez. Los procedimientos tienen la desventaja de que reducen la velocidad de ejecucin de los programas, esto se debe a la forma en que los procedimientos se ejecutan. A continuacin se presentan los pasos necesarios para ejecutar un procedimiento:

DAVID MONTIEL RAMIREZ

DAVID MONTIEL RAMIREZ

1.- Se encuentra la llamada Call 2.- El microprocesador almacena en la Pila el contenido del IP 3.- Se coloca en el IP el valor del desplazamiento correspondiente al Procedimiento 4.- El microprocesador ejecuta las instrucciones del procedimiento 5.- El procedimiento termina cuando se encuentra la instruccin Ret 6.- Se saca de la pila el valor original del IP y se contina el flujo del programa Las partes que componen a un procedimiento son: Declaracin del procedimiento Cdigo del procedimiento Directiva de regreso Terminacin del procedimiento 3.1.1 PROCEDIMIENTOS INTERNOS Los procedimientos internos son aquellos que se declaran y se llaman dentro del mismo programa, tambin son llamados procedimientos locales. El listado anterior muestra la forma de utilizar procedimientos internos. Las principales ventajas en el uso de procedimientos son: Permiten una codificacin ms limpia y compacta, es decir el cdigo fuente es ms pequeo. Permiten el ahorro de memoria, este puede ser llamado varias veces en el mismo programa y slo requiere memoria una vez. Las partes que componen a un procedimiento son: Declaracin del procedimiento Cdigo del procedimiento Directiva de regreso Terminacin del proceso

DAVID MONTIEL RAMIREZ

3.1.2 PROCEDIMIENTOS EXTERNOS Los procedimientos externos, a diferencia de los internos, se declaran en mdulos o programas separados al programa donde el procedimiento es llamado, en otras palabras, la llamada al procedimiento se encuentra en un programa y el procedimiento en otro. Para poder utilizar procedimientos externos, es necesario que sean declarados como pblicos en el programa donde se encuentran y que sean llamados como externos en el programa donde sern usados Este tipo de procedimientos permiten crear bibliotecas de funciones de ensamblador, permitiendo a su vez asemejarse ms a la programacin de alto nivel. Cuando se solicita la ejecucin de un programa, el cargador de programas el DOS utiliza este nombre de procedimiento como el punto de entrada para la primera instruccin a ejecutar. La directiva ENDP indica el fin de un procedimiento y contiene el mismo nombre que el enunciado PROC para permitir que el ensamblador relacione a los dos. Los procedimientos deben estar por completo dentro de un segmento, ENDP define el final de un procedimiento antes que ENDS defina el final de un segmento. Los beneficios de un programa con procedimientos son los siguientes: 1. Reduce la cantidad de cdigo, ya que un procedimiento comn puede ser llamado desde cualquier lugar en el segmento de cdigo. 2. Fortalece la mejor organizacin del programa. 3. Facilita la depuracin del programa, ya que los errores pueden ser aislados con mayor claridad. 4. Ayuda en el mantenimiento progresivo de programas, ya que los procedimientos son identificados de forma rpida para su modificacin. Cuenta con tres directivas de ensamble: .PUBLIC para declarar los procedimientos como pblicos, .EXTERN para indicar que el procedimiento que se va a usar est fuera del programa y .INCLUDE para enlazar el programa que contiene los procedimientos con el programa que los llama. Con estas capacidades, es fcil crear bibliotecas de procedimientos y macros que puedan ser utilizados constantemente por los dems programas, ahorrando con ello tiempo de programacin al reutilizar cdigo fuente.

DAVID MONTIEL RAMIREZ

DAVID MONTIEL RAMIREZ

Por ejemplo: Este programa muestra la forma de utilizar procedimientos y datos xternos en los programas por medio de las directivas de inclusin include y public. .MODEL TINY .INCLUDE proc2.ASM ;Incluir el archivo proc2.asm ;el cual contiene la variable de cadena ;Cad1 y los procedimientos externos ;usados en este programa. .DATA Cad2 db 'Esta es una cadena de prueba 2...',13,10,'$' .CODE INICIO: ;Punto de entrada al programa Mov Dl,20 ;X=20 Mov Dh,10 ;Y=10 Call GotoXY ;GotoXY 20,10 Lea DX,Cad2 ;DX->Cad2 en Proc3.asm Call Imprime_Cad ;Imprime Cad2 Lea DX,Cad1 ;DX->Cad1 en Proc2.asm Call Imprime_Cad ;Imprime Cad1 Mov AX,04C00h ;Fin del programa Int 21h ; END INICIO END

DAVID MONTIEL RAMIREZ

3.2 MACROS
Es un grupo de instrucciones que efectan una tarea. Se utilizan las directivas macro y ENDM para delimitar una macro secuencia. Una macro secuencia TRANSF macro. Las Variable local en una macro son aquella que aparece dentro del cuerpo de la macro, pero no est disponible fuera de ella , para definir una variable local se utiliza una directiva llamada LOCAL esta se utiliza para declarar etiquetas de saltos en un cdigo estos se tienen que llamar para que no marquen errores. Una macro es un grupo de instrucciones repetitivas en un programa que se codifican solo una vez y pueden utilizarse cuantas veces sea necesario. La principal diferencia entre una macro 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 programacin que si lo permiten). Al momento de ejecutarse la macro cada parmetro es sustituido 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 es la forma de llamar a cada uno, para llamar a un procedimiento se requiere el uso de una directiva, en cambio la llamada a las macros se realiza como si se tratara de una instruccin del ensamblador. Para cada instruccin que es codificada, el ensamblador genera una instruccin de lenguaje mquina. Ensamblador tiene facilidades que se pueden usar para definir macros. Se define un nombre especfico para la macro, junto con el conjunto de instrucciones en lenguaje ensamblador que la macro va a generar. Despus, siempre que se necesite codificar el conjunto de instrucciones, solo se codifica el nombre de la macro y el ensamblador genera de manera automtica las instrucciones definidas. Los operadores ms comunes que se utilizan son los siguientes: Operador % convierte la expresin que le sigue un smbolo a un nmero. Operador; Indica que lo que viene a continuacin es un comentario que no debe aparecer al expansionar la macro. Operador! o <> Empleado para indicar que el carcter que viene a continuacin debe ser interpretado literalmente y no como un smbolo. DAVID MONTIEL RAMIREZ 10

Operador & Utilizado para concatenar texto o smbolos. Se le llama macro interna a aquella que se declara y se llama dentro del mismo programa. Las macros son tiles para los siguientes propsitos: Simplificar y reducir la cantidad de cdigo. Reducir errores causados por cdigo repetitivo. Linealizar los programas para hacerlos ms legibles.

Ejemplos de funciones que pueden ser implementadas con macros: Operaciones de entrada/salida. Rutinas para el manejo de cadenas de caracteres. Rutinas para el manejo de pantalla. Condiciones para crear macros: Son creadas antes de definir cualquier segmento. Se asigna un nombre vlido, siguiendo las condiciones para crear identificadores.

Componentes de una macro: Declaracin de la macro. Cdigo de la macro. Directiva de terminacin de la macro.

Sintaxis: nombremacro MACRO [argumento1, argumento2, ..] ENDM Ejemplo: Posicion MACRO Fila, Columna PUSH AX PUSH BX PUSH DX MOV AH, 02H MOV DH, Fila DAVID MONTIEL RAMIREZ 11

MOV DL, Columna MOV BH, 0 INT 10H POP DX POP BX POP AX ENDM

3.2.1 MACROS EXTERNAS


Una de las facilidades que ofrece el uso de las macros es la creacin de bibliotecas, las cuales son grupos de macros que pueden ser incluidas en un programa desde un archivo diferente. La creacin de estas bibliotecas es muy sencilla, nicamente tenemos que escribir un archivo con todas las macros que se necesitarn y guardarlo como archivo de texto. Para llamar a estas macros solo es necesario utilizar la instruccin Include<Nombre_Del_Archivo>, en la parte de nuestro programa donde escribiramos normalmente las macros, esto es, al principio de nuestro programa (antes de la declaracin del modelo de memoria). Suponiendo que se guard el archivo de las macros con el nombre de MACROS.TXT la instruccin Include se utilizara de la siguiente forma: Ejemplo: ;Inicio del programa Include MACROS.TXT .MODEL SMALL .DATA ;Aqui van los datos .CODE Inicio: ;Aqui se inserta el cdigo del programa .STACK ;Se define la pila End Inicio

DAVID MONTIEL RAMIREZ

12

3.2.2 MACROS INTERNAS


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. b) CUERPO: Contiene el cdigo real que ser insertado en cualquier programa que llame al nombre de la macro. c) FIN: Debe incluir la sentencia ENDM. El nombre de esta macro es INICIO, aunque es aceptable cualquier otro nombre vlido que sea nico. La directiva MACRO en la primer lnea indica al ensamblador que las instrucciones que siguen, hasta ENDM (fin de la macro), son parte de la definicin de la macro. La directiva ENDM termina la definicin de la macro. Las instrucciones entre MACRO y ENDM comprenden el cuerpo de la definicin 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 cdigo cuantas veces desee dentro de su programa.

DAVID MONTIEL RAMIREZ

13

Bibliografa
Lenguaje ensamblador unidad 3 Modularizacin. Instituto Tecnolgico superior de Jess Carranza. Veracruz. Salomn Meja Corona.pdf Lenguaje ensamblador. Modularizacin. Ing. Sal Romn Barraza.pdf. http://rjovep.sistemasitl.com/Ray/Len_Ensa/Notas/UIV.pdf

DAVID MONTIEL RAMIREZ

14

You might also like