Modularizacion.
La programación modular es uno de los métodos de diseño mas flexibles y poderosos para el mejoramiento de la productividad de un programa. Usando la programación modular el problema se divide en módulos, donde cada una de los cuales ejecuta una única actividad o tarea y se codifican independientemente de otros modulo.
Cada uno de estos módulos se analiza, se codifica y se prueba de preferencia por separado.
al trabajar con lenguaje ensamblador, la necesidad de la estructura es, si cabe, aún es más vital, puesto que cualquier tarea, por sencilla que parezca, puede requerir una gran lista de sentencias ejecutables.
Todo programa contiene un módulo denominado programa principal que controla todo aquello que sucede; si se transfiere el control a un submódulo, este ejecuta su función y una vez que la termina, regresa el control al módulo desde donde fue llamado. En mucho casos es el modulo principal.
Si la tarea asignada a cada submódulo es demasiado compleja, éste deberá descomponerse en otros módulos más pequeños. Este proceso de descomposición continua hasta que cada módulo tenga una tarea especifica que ejecutar. Esta tarea puede ser:
A) Entreada
B) Salida
C) Manipulación de datos
D) Contro, de otros modulos
E) Alguna combinación de los anteriores
3.1 Procedimientos
El procedimiento es una secuencia de instrucciones que en conjunto llevan a cabo una tarea específica.
En programación un procedimiento es un segmento de código que cuenta con instrucciones a las cuales se puede acceder desde cualquier parte del programa y una vez se termina la ejecución de estas, el programa continua con su ejecución normal, tomando el control la siguiente línea después de la llamada al procedimiento. Los procedimientos tienden a ser grupos de instrucciones que se necesitara ejecutar más de una vez dentro de un programa, ya que un procedimiento puede ser llamado en cualquier momento durante la ejecución del programa principal, la cantidad de veces que sea necesario sin necesidad de reescribir el código.
En ensamblador los procedimientos están conformados por las siguientes partes:
Declaración del procedimiento:
Los procedimientos en ensamblador se declaran mediante la sintaxis nombreprocedimiento Proc [far/near] dependiendo de si es un procedimiento cercano o lejano.
Código del procedimiento:
Dentro del procedimiento se escribe el código de ensamblador que se quiere utilizar.
Directiva de regreso:
Antes del final de un procedimiento en ensamblador se escribe la directiva de regreso ret,, la cual regresa el control a la línea desde donde fue llamado el procedimiento.
Terminación del procedimiento:
Para terminar un procedimiento se escribe el nombre del procedimiento seguido de la palabra reservaba endp.
Existen dos tipos de procedimientos que pueden utilizarse dentro de ensamblador, estos son los internos y los externos.
Procedimientos Internos:
Estos procedimientos son aquellos que son declarados dentro del mismo archivo de programa que serán llamados, también se les llama procedimientos locales.
Para utilizarlos basta con escribir la palabra reservada call seguida del nombre del procedimiento a utilizar.
Procedimientos Externos:
Los procedimientos externos se crean de la misma forma que los internos pero tienen la diferencia de que están en archivos separados al programa de donde el procedimiento es llamado, por lo que se necesitan instrucciones extra para poder utilizarlos, las cuales son las siguientes:
PUBLIC:
Es necesario declarar como publico el procedimiento que se desea utilizar para que sea posible acceder a él desde otro programa.
EXTRN:
Permite abrir procedimientos desde otro programa aunque no se encuentre enlazado directamente.
INCLUDE:
Enlaza el programa que llama el procedimiento con el que lo contiene, permitiendo utilizarlo como si fuera un procedimiento propio.
Ejemplo:
public imprime → Procedimiento dentro del primero archivo declarado como publico.
imprime proc far → Declaracion del procedimiento.
mov ah,09h → Código del procedimiento
int 21h
ret → Directiva de regreso.
imprime endp → Fin del procedimiento.
extrn imprime:near → Se incluye el procedimiento externo imprime en el segundo archivo.
call imprime → Se llama al procedimiento como si fuera local.
3.2 Macros.
Una macro es un conjunto de instrucciones que pueden ser llamadas utilizando su nombre para ejecutarse dentro de un programa, estas solo se escriben una vez dentro del código y pueden utilizarse las veces que sea necesario.
En ensamblador la diferencia entre los procedimientos y las macros es que las macros tienen la posibilidad de utilizar parámetros por lo que pueden llevar a cabo tareas que los procedimientos no podrían.
Las macros constan de tres partes que las definen:
Declaración:
El inicio de una macro se declara escribiendo el nombre que tendrá, seguido de la palabra reservada MACRO y opcionalmente, puede contener parámetros después.
Cuerpo:
Contiene todas las instrucciones que ejecutara la macro cuando sea llamada dentro del programa en ejecución.
Fin:
Toda macro debe terminar con la palabra reservada ENDM para indicar el fin de la misma.
Al igual que con los procedimientos, existen dos tipos de macros que son externas e internas, pero son muy fáciles de utilizar de cualquiera de las dos formas, si se desea utilizar una macro externa se escribe la palabra Include seguida del nombre del archivo de texto donde están guardadas las macros antes del código del programa.
Ejemplo:
Include Macro.txt → Se enlaza con el archivo Macro.txt.
.model small → Declaración del tamaño del programa.
.stack 64 → Declaración de la pila.
.Data → Inicio del segmento de datos.
.Code → Inicio del segmento de código.
Macro1 → Se llama a la macro Macro1.
.Exit → Inicio del segmento final.
End → Fin del programa.
No hay comentarios.:
Publicar un comentario