Está en la página 1de 19

Mdulo 3 Seccin 1

Software de Base

Programacin Estructurada

Antonio Reynoso Lobato

Los Programas de Sistema

Objetivo: Comprender la importancia de los programas de sistema y describir sus principales componentes en un nivel funcional.

Programacin Estructurada

Antonio Reynoso Lobato

Temas

Lenguajes de Programacin Ensambladores Macroprocesadores Compiladores Cargadores Sistemas operativos Inteligencia artificial

Programacin Estructurada

Antonio Reynoso Lobato

Software de Base
A partir de lo que ya conocemos de la computadora, si un usuario la utiliza para realizar una funcin cualesquiera necesariamente implica que se est ejecutando un programa oculto que le sirve como base operativa: Programas de sistema: es el conjunto de programas necesario para que una computadora pueda desempear trabajo til y dar una imagen coherente ante sus usuarios. Programas de aplicacin: es el conjunto de programas que hacen eficiente el trabajo con una computadora sin tener que comunicarle todo por medio de unos y ceros.
Programacin Estructurada Antonio Reynoso Lobato

Programa en Lenguaje Maquina

Escrito en 1s y 0s (Hexadecimal) Direcciones absolutas Ilegible Impractico para fines humanos


Mejorarlo Corregirlo Comentarlo Comunicarlo
Programacin Estructurada Antonio Reynoso Lobato

Lenguajes de Programacin

Programacin Estructurada

Antonio Reynoso Lobato

Generaciones de Lenguajes de Programacin

Programacin Estructurada

Antonio Reynoso Lobato

Lenguaje Ensamblador
Condiciones que debe de cumplir: Que las instrucciones sean entendidas por el CPU Que estn almacenadas en la memoria: Cada celda de memoria puede contener un (y solo un) valor numrico Cada celda tendr la propiedad de ser direccionable,es decir, se puede distinguir una de otra por medio de un nmero unvoco llamado su direccin

Programacin Estructurada

Antonio Reynoso Lobato

Modos de Direccionamiento
Direccionamiento inmediato:

Direccionamiento directo:

Direccionamiento indirecto: direcc1 = apuntador

Direccionamiento indexado....
Programacin Estructurada Antonio Reynoso Lobato

Produccin de Programas en Ensamblador Genera un modulo objeto

El modulo fuente en lenguaje assembler puede y debe de ser traducido por la misma computadora
Programacin Estructurada Antonio Reynoso Lobato

El Traductor Ensamblador

Programacin Estructurada

Antonio Reynoso Lobato

Construir el traductor
Describir en espaol y a grandes rasgos una solucin general.

Programacin Estructurada

Antonio Reynoso Lobato

Variable
Variable: un nombre simblico asociado con una celda cualesquiera de memoria (que nos libera de escoger celdas particulares en el momento de programar)

Programacin Estructurada

Antonio Reynoso Lobato

Tabla de Smbolos
Si declaramos o generamos primero la tabla de smbolos:

La traduccin debe de ser:

Programacin Estructurada

Antonio Reynoso Lobato

Virtualizar la Comunicacin
Pseudoinstruccin: instruccin que el programador escribe para el traductor, no para la mquina:
DATO, ORIGEN, PROGRAMA, FIN
Traduccin verdaderamente automatica

Programacin Estructurada

Antonio Reynoso Lobato

Lenguaje Simblico
Recursos para virtualizar el programa fuente:
Direcciones simblicas: Variables Etiquetas

Programacin Estructurada

Antonio Reynoso Lobato

Programa en Ensamblador

Programacin Estructurada

Antonio Reynoso Lobato

Necesidad de dos pasos


La etiqueta ARRIBA se declara primero y se usa despus y sucede lo contrario con la etiqueta ABAJO

Los saltos hacia abajo: sirven para rodear partes de programa y no ejecutarlas Los saltos hacia arriba: sirven para repetir la ejecucin de grupos de instrucciones y crear ciclos
Programacin Estructurada Antonio Reynoso Lobato

Segunda versin del Traductor

Programacin Estructurada

Antonio Reynoso Lobato

El ensamblador
Ensamblador: traductor que adems asigna direcciones absolutas a las variables simblicas escogidas por el programador Genera de forma interna la tabla de smbolos

Produce cdigo objeto

Programacin Estructurada

Antonio Reynoso Lobato

Caractersticas adicionales
Pseudoinstrucciones:
EQU, VALOR. Operaciones aritmticas sencillas.

Produce la tabla de smbolos ampliada:

Programacin Estructurada

Antonio Reynoso Lobato

Caractersticas adicionales (contina)


Pseudoinstrucciones:
LISTA

Produce la tabla de smbolos ampliada:

Programacin Estructurada

Antonio Reynoso Lobato

Almacenamiento de Conjuntos de Nmeros


Vector o arreglo:

?
Programacin Estructurada Antonio Reynoso Lobato

Modelo

Modelo: solucin general que considera los aspectos estructurales del problema, haciendo abstraccin de los casos particulares Direccionamiento indirecto (apuntador): una celda fija de referencia cuyo contenido puede ser variable. Y este contenido, a su vez, es la direccin de la celda actual

Programacin Estructurada

Antonio Reynoso Lobato

Programa General

Programacin Estructurada

Antonio Reynoso Lobato

Ejecucin del Programa


Tabla de smbolos: Cdigo objeto:

Simulacin de la ejecucin del programa:

Programacin Estructurada

Antonio Reynoso Lobato

Bsqueda en un Arreglo

Programacin Estructurada

Antonio Reynoso Lobato

Ejecucin del Programa


Tabla de smbolos:

Programacin Estructurada

Antonio Reynoso Lobato

Tercera versin del Traductor

Programacin Estructurada

Antonio Reynoso Lobato

Macroprocesadores
Repetir, por medio de una orden, grupos completos de instrucciones que deben de aparecer en mltiples ocasiones Macrodefiniciones (macros): almacenadas previamente, de manera interna, en una tabla de macros:

Macrollamada: invocacin de una macrodefinicin por su nombre para lograr una substitucin textual de smbolos de un tipo con smbolos de otro (Macroexpansin):

Programacin Estructurada

Antonio Reynoso Lobato

Texto Genrico
Programa fuente Programa intermedio

Programacin Estructurada

Antonio Reynoso Lobato

Construir el macroprocesador

Programacin Estructurada

Antonio Reynoso Lobato

Macros con Parmetros


Capacidad de usar macrollamadas con variables, usando la misma macrodefinicin, pero permitiendo dentro del cuerpo la existencia de partes variables llamadas parmetros
Argumentos: parmetros ficticios

%PROM3(A,B,C,R)

%PROM3(ZETA, ALFA+18, GAMA,NMERO)

Parmetros reales

Programacin Estructurada

Antonio Reynoso Lobato

Macroensamblador
El macroprocesador con manejo de parmetros enriquece la calidad de la comunicacin con la computadora, porque ahora se pueden escribir programas fuente en macroensamblador: lenguaje ensamblador con macros.

Programacin Estructurada

Antonio Reynoso Lobato

Versin con macros

Programacin Estructurada

Antonio Reynoso Lobato

Directivas para el macroprocesador


Expansin condicional: %SI, %FIN_SI

%ALFA( X,3 )

%ALFA( ZETA,17 )

Programacin Estructurada

Antonio Reynoso Lobato

Conclusiones
No existe posibilidad de que dos computadoras diferentes (incompatiles) entiendan el mismo programa fuente, ya que cada modelo de procesador es nico, tambin lo sern su diccionario electrnico (decodificador) y su unidad de control as como sus caractersticas funcionales. Un programa en (macro)ensamblador debe de reescribirse si se desea ejecutarla en una mquina diferente, ya que el lenguaje ensamblador no es ms que un conjunto de disfraces mnemnicos del cdigo de mquina.

Programacin Estructurada

Antonio Reynoso Lobato

Conclusiones (contina)
Disponemos ya de un primer lenguaje simblico (macroensamblador) para establecer comunicacin con la computadora Como la computadora solo entiende lenguaje mquina, resulta necesario el traductor diseado a lo largo de la ltima parte del curso Para que la computadora realice la traduccin ser imprescindible traducir al traductor, por lo que se hace necesario investigar los requerimientos para que una mquina pueda traducir programas fuente en programas objeto por si sola
Programacin Estructurada Antonio Reynoso Lobato

También podría gustarte