Unidad 3 Modularizacion
Programación modular
Los avances en la programación de computadoras han permitido crear hermosas y grandes aplicaciones, que no se pueden comparar a los primeros programas que se creaban en los años 1960’s y 1970’s. Sin embargo, las aplicaciones modernas requieren un mayor esfuerzo para ser desarrolladas y no es factible que una persona se encargue de todo el proceso, desde su concepción, análisis, desarrollo, implementación y puesta en marcha. Por ello, las empresas que se dedican al desarrollo de software trabajan en base a equipos de desarrollo, en donde a cada integrante se le asigna una etapa del proceso. A su vez, el equipo de desarrollo se compone de varios programadores que reciben los requisitos del sistema y trabajan en conjunto para implementarlo.Esto implica que la tarea de programación se distribuye a través de varios programadores.
Este paradigma parte del principio “divide y vencerás”, pues resulta más fácil resolver un problema complejo cuando se divide en partes manejables.
Simplemente consiste en descomponer un problema complejo o grande en partes más pequeñas. Estas partes pequeñas reciben diferentes nombres como módulos, subprogramas, funciones, procedimientos y/o métodos. De forma general las llamaremos módulos y de manera específica orientada al lenguaje Java las llamaremos métodos.
3.1 Procedimientos
Es una colección de instrucciones que realizan una tarea específica. Dependiendode su extensión y complejidad, un programa puede contener uno, algunos o
inclusive cientos de procedimientos. Para emplear un procedimiento en un
programa se requiere definirlo y llamarlo. Al definir un procedimiento escribimos
las instrucciones que contiene. Al llamar al procedimiento transferimos el flujo al
procedimiento para que sus instrucciones se ejecuten. Se define como:
PROC nomProc
proposicion
[proposicion]
...
ENDP [nomProc]
La llamada a un procedimiento tiene la siguiente forma:
CALL nomProc
Pra regresar de un procedimiento se utiliza
RET
Un buen procediminto debe:
Hacer solo una tarea.
Ser tan pequeño como sea posible y tan largo como sea necesario.
Contener un comentario con su propósito, datos de entrada y salida.
Entenderse por si solo.
Funcionar como lo haría una instrucción del microprocesador.
No usar variables globales ni para recibir datos, ni regresar un resultado, ni almacenar temporalmente resultados intermedios.
3.2 Macros
Es un conjunto de instrucciones asociadas a un identificador: el nombre de lamacro.
Este conjunto de instrucciones es invocado como una sola instrucción o macroinstrucción. Para emplear una macro en un programa debemos de definir la macro e invocar la macro.
La definición de una macro establece el nombre al que se le asocia la macro, el
número y nombre de sus parámetros formales y qué instrucciones contiene la macroinstrucción. La sintaxis de la definición de una macro es la siguiente:
MACRO nombMacro [parForm[, parForm]...]
proposición
[proposición]
...
ENDM [nombMacro]
Aunque la definición de una macro puede ir en cualquier parte de un programa, el lugar más recomendable para su localización es al principio de un archivo, antes de los segmentos de datos y de código. Al encontrar una invocación de una macro, el macro-ensamblador substituye la línea con la invocación por las proposiciones que contiene la definición de la macro.
Este proceso de substitución se conoce como expansión de la macro. La sintaxis de la invocación de la macro es similar a cualquier instrucción:
nomMacro [parReal[, parReal]...]
donde cada parReal es conocido como un parámetro real de la macro. Al expandirse la macro cada una de las ocurrencias de un parámetro formal en la definición de la macro se substituye por su correspondiente parámetro real.
Unidad 4. Programación de dispositivos
4.1 El buffer de vídeo en modo texto
Se llama modo texto a cualquier modo de vídeo de un ordenador en el que elcontenido de la pantalla se representa internamente en términos de caracteres
textuales en lugar de píxeles individuales. Típicamente, la pantalla consistirá en
una rejilla uniforme de «celdas de caracteres», cada una de las cuales contendrá
un carácter del juego de caracteres.
El uso del modo texto se hizo popular a principios de los años 1970, cuando
los terminales de texto orientados a vídeo empezaron a reemplazar a
los teletipos en el uso interactivo de las computadoras.
4.2 Acceso a discos en lenguaje ensamblador
Vamos a señalar las funciones que debe realizar un computador para ejecutar trabajos deentrada/salida:
Direccionamiento o selección del dispositivo que debe llevar a cabo la operación de E/S.
Transferencia de los datos entre el procesador y el dispositivo (en uno u otro sentido).
Sincronización y coordinación de las operaciones.
Esta última función es necesaria debido a la deferencia de velocidades entre los dispositivos
y la CPU y a la independencia que debe existir entre los periféricos y la CPU (por ejemplo,
suelen tener relojes diferentes).
Se define una transferencia elemental de información como la transmisión de una sola
unidad de información (normalmente un byte) entre el procesador y el periférico o
viceversa. Para efectuar una transferencia elemental de información son precisas las
siguientes funciones:
- Establecimiento de una comunicación física entre el procesador y el periférico para la
transmisión de la unidad de información.
- Control de los periféricos, en que se incluyen operaciones como prueba y modificación del estado periférico. Para realizar estas funciones la CPU gestionara la lineas de control necesarias.
No hay comentarios:
Publicar un comentario