P ROCESO DE E NSAMBLADO Cámara Vázquez Berenice Rubí.

Slides:



Advertisements
Presentaciones similares
Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I
Advertisements

Clasificación de los compiladores
Prof. Ing.Maria Rosa Damaso Rios
LENGUAJES DE PROGRAMACIÓN Y ALGORITMOS
EQUIPO ·# 3 SISTEMAS OPERATIVOS
Fundamentos de programación
Temas Operaciones básicas Instalando el compilador
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Traducción dirigida por la Sintaxis
Detalles del sistema operativo
3. INTRODUCCIÓN A LA PROGRAMACIÓN
Teoría de lenguajes y compiladores

Microcomputadores Prof : Tatiana Marín R.. Sistema basado en microprocesador de 8 bits.
HILOS Y COMUNICACIÓN ENTRE PROCESOS
TRADUCTOR DE UN PROGRAMA
Lenguaje C.
Administración de memoria
M.C. Meliza Contreras González
TIPOS Y ESTRUCTURAS BÁSICAS DE DATOS
Organización del Computador I Verano MIPS (1 de 2) Basado en el capítulo 3 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
FUNDAMENTOS DE PROGRAMACION
INGENIERIA EN SISTEMAS COMPUTACIONALES
Clase 10: Estructuras de datos y arreglos.
Tecnología de la información Unidad: 3 El software Profesor: Fernando J. Martini.
Asignación de Espacio No Contiguo
Administración de Memoria
LENGUAJE DE PROGRAMACIÓN
Programación Básica con NQC Patricio A. Castillo Pizarro 25/08/2007.
Aplicación de estructuras de datos
1.4 Traductor y Su estructura
LENGUAJES DE PROGRAMACIÓN
Tipos de Datos. Entrada-Salida.. La entrada-salida (I/O) le permite a un programa comunicarse con el mundo exterior. Esta comunicación puede realizarse.
Capítulo 7 Gestión de memoria.
LENGUAJES DE PROGRAMACIÓN
Unidad II Introducción a la programación en C++
Programación de Sistemas
APRENDIZ: SANDRA L. CAICEDO C. ORDEN: 20194
Lenguajes de programación. Lenguaje máquina El ordenador sólo sabe hacer un número limitado de tareas (muy pocas) definidas electrónicamente en su procesador.
COMPILADORES DIANA ROCIO OLAYA MESA.
Elementos básicos del lenguaje
Introducción a la tecnología Realizado por: Miguel Ángel Arias.
Administrador de procesos
INFORMATICA VII (Programación e implementación de sistemas)
COMPUTO III Ing. Jimmy Ojeda Arnica.
Algorit moAlgorit mo An á lisisAn á lisis Argumen toArgumen to Asignación Asociación Cometar ioCometar io Compilación Constan teConstan te Definición.
Unidad 1. Introducción a los Compiladores.
Tipo de Errores.
JULIAN DARIO RAMIREZ CORRECHA PROSOF12. °QUE ES UN ALGORITMO °CLASES DE ALGORITMOS °QUE ES UN LENGUAJE DE PROGRAMACION °QUE ES UN LENGUAJE DE PROGRAMACION.
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) TRADUCTORES Y ANALIZADOR LEXICOGRÁFICO.
Metodología de la programación
Visual Basic FUNCIONES Y PROCEDIMIENTOS
Teoría de lenguajes y compiladores
LENGUAJE ENSAMBLADOR TIPOS DE LENGUAJES ENSAMBLADORES
Tipos de Lenguajes Ensamblador.
Práctica Profesional PHP.
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
Se importan los módulos. El primer y el segundo modulo es para guardar archivos. El tercer modulo es el que permite ver graficas, y el ultimo importa.
Programación de Sistemas
Lenguaje ensamblador Conceptos introductorios. Formatos de Instrucción. Modos de Direccionamiento. Conjunto de instrucciones básico. Introducción al Lenguaje.
Gestión de Memoria – Parte 2
JOSE ALBERTO JIMENEZ JIMENEZ KATTY HIPOLITO. 7.1 INTRODUCCION AL LENGUAJE EMSAMBLADOR.
Lenguaje ensamblador Resumen en diapositivas
Autómatas y Compiladores. Primera Semana. Ricardo Vargas Del Valle A35469.
El proceso ensamblador. José Luis Vergara Soberanis.
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
Katty Evangelina Hipólito Chi.   Aunque cada maquina tiene un lenguaje ensamblador distinto, el proceso de ensamblador tiene suficiente similitudes.
Ciclos de Repeticion Yoel Gutierrez Unidad 6. Contenido DefinicionExplicacionEjemplosReferencias.
Cada maquina tiene un lenguaje ensamblador distinto
Transcripción de la presentación:

P ROCESO DE E NSAMBLADO Cámara Vázquez Berenice Rubí

E NSAMBLADORES DE DOS PASADAS Un programa de lenguaje ensamblador consta de una serie de enunciados de una sola línea Las referencias adelantadas se manejan de dos maneras: 1.- El ensamblador podría leer el programa fuente dos veces(traductor de dos pasadas). 1.1 La primera pasada se reúnen las definiciones de simbolos, incluidas en etiquetas de enunciados y se guardan en una tabla.

1.2 A la segunda pasada ya se conocen los valores de todos los símbolos,así que ya no quedan referencias adelantadas y cada enunciado puede leerse, ensamblarse hacia la salida.

2.-Lee el programa de lenguaje ensamblador una ve, convertirlo en una forma intermedia y guardar esta forma intermedia en una tabla en la memoria. 2.1 Efectúa otra pasada en la tabla, no en el programa fuente. Si hay suficiente memoria, este enfoque ahorra tiempo de E/ S. Si se va a producir un listado hay que guardar todo el enunciado fuente(con comentarios).

P RIMERA PASADA Función: construir una tabla de símbolos. Símbolo: Es una etiqueta al que se le asigna un nombre simbólico mediante una seudoinstrucción. Al asignar un valor a un símbolo en el campo de etiqueta de una instrucciones ensamblador debe saber que dirección tendrá esa instrucción durante la ejecución de programa.

Contador de posiciones de instrucciones: Esta variable se pone en 0 al principio de la primera pasada y se incrementa en una cantidad igual a la longitud de la instrucción cada vez que se procesa una instrucción. Seudoinmediatas: El ensamblador asigna memoria para el operando inmediato al final del programa y genera una instrucción que hace referencia a ella.

S EGUNDA PASADA Función: Generar el programa objeto y posiblemente imprimir el listado de ensamblado. Debe producir cierta información que el enlazador necesita para enlazar procedimientos ensamblados en diferentes momentos para producir un solo archivo ejecutable. Lee las líneas una por una y se procesan una por una.

T ABLA DE SÍMBOLOS Memoria asociativa: Es un conjunto de pares( símbolo, valor). Dado un símbolo la memoria asociativa debe producir un valor.

E NLAZADO Y CARGA La traducción completa de un programa fuente requiere dos pasos: 1.- Compilación o ensamblado de los procedimientos fuente. 2.- Enlazado de los módulos objeto. El ensamblador se encarga del primer paso y el segundo corre por cuenta del enlazador.

La traducción de procedimiento fuente a modulo objeto representa un cambio de nivel porque el lenguaje fuente y el lenguaje objetivo tienen diferentes instrucciones y notación. Enlazador: Reúne los procedimientos traducidos por separado y los enlaza para que se ejecuten como una unidad llamada programa binario ejecutable.

T AREAS QUE REALIZA EL ENLAZADOR Para ejecutar el programa, el enlazador obtiene los módulos objeto de la memoria principal a fin de formar la imagen de programa binario ejecutable.

E STRUCTURA DE UN MODULO OBJETO 1.-Los módulos objeto a menudo contienen 6 partes : 2.-El modulo es una lista de símbolos definidos en el modulo a los que otros módulos podían hacer referencia. Fin del modulo Diccionario de reubicación Instrucciones de maquina y constantes Tabla de referencias externas Tabla de puntos de ingreso Identificación

3.-Consiste en una lista de los símbolos que se usan en el modulo pero se definen en otros módulos, junto con una lista que indica cuales instrucciones de maquina usan cuales símbolos. El enlazador necesita una segunda lista para poder insertar las direcciones correctas en las instrucciones que usan símbolos externos.

4.-Es el código ensamblado y las constantes, en esta parte el modulo del objeto es la única que se cargara en la memoria para ejecutarse. Las otras 5 partes serán utilizadas por el enlazador y se desecharan antes de que inicie la ejecución. 5.-Es el diccionario de reubicación. 6.- Es una indicación de fin de modulo a veces una suma de verificación para detectar errores ocurridos durante la lectura del modulo y la dirección en la que debe iniciarse la ejecución.

T IEMPO LIGADO Y REUBICACIÓN DINÁMICA Hay por lo menos 6 posibilidades de tiempo ligado: 1.-cuando se escribe el programa 2.-cuando se traduce el programa 3.-cuando se enlaza el programa pero antes de cargarlo 4.-cuando se carga el programa 5.-cuando se carga un registro base que se usa para direccionamiento 6.-cuando se ejecuta la instrucción que contiene la dirección.

Si una instrucción que contiene una memoria se desplaza después del ligado, será incorrecta. Si el traductor produce un binario ejecutable como salida, el ligado habrá ocurrido en el momento de la traducción y el programa deberá ejecutarse en la dirección en la que el traductor esperaba que se ejecutara.

E NLAZADO DINÁMICO Tiene la propiedad de que todos los procedimientos que un programa podría invocar se enlazan antes de que el programa pueda iniciar su ejecución. Enlazado dinámico: Es una forma mas flexible de enlazar procedimientos compilados por separado es enlazar cada procedimiento en el momento en que se invoca por primera vez.