Katty Evangelina Hipólito Chi.   Aunque cada maquina tiene un lenguaje ensamblador distinto, el proceso de ensamblador tiene suficiente similitudes.

Slides:



Advertisements
Presentaciones similares
Clasificación de los compiladores
Advertisements

LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
Nuestro reto es educar al pensamiento, para que razone de acuerdo a ciertas reglas; con ello podremos ser más eficientes al momento en que ordenamos.
Programación Básica con NQC Pedro F. Toledo – Patricio Castillo 18/08/2006.
EQUIPO ·# 3 SISTEMAS OPERATIVOS
Temas Operaciones básicas Instalando el compilador
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Modelo de procesos de dos estados
Programación 1 Introducción
Traducción dirigida por la Sintaxis
3. INTRODUCCIÓN A LA PROGRAMACIÓN
Teoría de lenguajes y compiladores
Programas Son una serie o secuencia de instrucciones entendibles por los ordenadores que permiten la realización de las acciones o tareas para las que.
Matemáticas Discretas y Algoritmos
Microcomputadores Prof : Tatiana Marín R.. Sistema basado en microprocesador de 8 bits.
Arquitectura del Computador
HILOS Y COMUNICACIÓN ENTRE PROCESOS
TRADUCTOR DE UN PROGRAMA
Nombre, Alcance y Asociaciones (Bindings). Agenda Definición Nombre y Bindings Binding Time Importancia del Binding Time Eventos relacionados a la Asociación.
Proceso de información en la computadora
ALGORITMOS.
M.C. Meliza Contreras González
Estructura de un programa en C
Tecnología de la información Unidad: 3 El software Profesor: Fernando J. Martini.
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Un programa no es nada mas que una serie de instrucciones dadas al ordenador en un lenguaje entendido por el, para decirle exactamente lo que queremos.
Asignación de Espacio No Contiguo
Administración de Memoria
LENGUAJE DE PROGRAMACIÓN
PBN © Jaime Alberto Parra Plaza CLASE 5 LOS SEGMENTOS.
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.
Lenguaje Ensamblador Pic 16F84A.
Programación de Sistemas
FUNDAMENTOS DE PROGRAMACIÓN Unidad II. Elaborar programas en pseudolenguaje, de acuerdo a requerimientos. Unidad II.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 13/05/2006.
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.
Algorit moAlgorit mo An á lisisAn á lisis Argumen toArgumen to Asignación Asociación Cometar ioCometar io Compilación Constan teConstan te Definición.
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 15/08/2006.
Metodología de la programación
Visual Basic FUNCIONES Y PROCEDIMIENTOS
Teoría de lenguajes y compiladores
Elaboración de algoritmos usando lógica de programación
Presente un cuestionario con los aspectos mas importantes sobre los
LENGUAJE ENSAMBLADOR TIPOS DE LENGUAJES ENSAMBLADORES
Tipos de Lenguajes Ensamblador.
Práctica Profesional PHP.
Estructuras de Decisión
Lic. Carla Aguirre Montalvo
Objetivos del tema. Hemos visto lo que es la estructura de un programa, los datos, que esos datos en realidad se convierten en variables de distinto.
Programación de Sistemas
Para aplicaciones.   Una variable es un espacio de memoria en donde se almacenan datos 1. VARIABLES.
 Las funciones son un conjunto de instrucciones que realizan una tarea específica. En general toman unos valores de entrada, llamados parámetros y proporcionan.
MEMORIA DINÁMICA.
Curso: Fundamentos de Computación
ESTE TERMINO SE DEFINE COMO : UN PROCESO EN EL CUAL SE NOS DESCRIBE UN PROBLEMA (EN LENGUAJE NATURAL), LUEGO DE ESTO SE PLANTEAN POSIBLES RESOLUCIONES.
Conceptos Generales PROGRAMACIÓN I DOCENTE: ING. MARLENY SORIA M. 1.
 PRESENTADO POR : ANDRES MAYORGA DANIELA PAEZ VEGA.
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
El proceso ensamblador. José Luis Vergara Soberanis.
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
P ROCESO DE E NSAMBLADO Cámara Vázquez Berenice Rubí.
Cada maquina tiene un lenguaje ensamblador distinto
Transcripción de la presentación:

Katty Evangelina Hipólito Chi

  Aunque cada maquina tiene un lenguaje ensamblador distinto, el proceso de ensamblador tiene suficiente similitudes en las distintas maquinas que es posible describirlo en términos generales El proceso de ensamblado

  Un programa ensamblador consta de una serie de enunciados de una sola línea, al principio podría parecer natural tener un ensamblador que lea un enunciado, lo traduzca a lenguaje maquina y luego escriba la instrucción de lenguaje de maquina generada en un archivo, escribiendo al mismo tiempo la línea correspondiente del listado, si se va a producir, en otro archivo. Este proceso ensamblador de dos pasadas

  La primera función de la primera pasada es contruir una tabla llamada tabla de símbolos que tienen los valores de todos los símbolos  un símbolo es una etiqueta o bien un valor al que se asigna un nombre simbólico mediante una seudoinstrucción como: primera pasada

  Al asignar un valor a un símbolo en el campo de etiqueta de una instrucción, el ensamblador debe saber que dirección tendrá esa instrucción durante la ejecución del programa.

  El ensamblador mantiene una variable llamada contador de posiciones de instrucciones esto para seguir la pista a la dirección de tiempo de ejecución de la instrucción. Esta variable se pone en 0 al principio de la primera pasada y se incremente en una cantidad igual a la longitud de la instrucción cada ves que se procesa una instrucción.

 Ejemplo de Pentium II

  La primera pasada de casi todos los ensambladores utiliza por lo menos tres tablas: la tabla de símbolos, la tabla de seudoinstrucciones y la tabla de códigos de operación. Si se necesita, también se mantiene una tabla de literales.

  Los símbolos se define ya sea usándolos como etiquetas o por definición explicita ( por ejemplo, EQU) cada entrada de la tabla de símbolos contiene el símbolo mismo (o un apuntador a el), su valor numérico y a su veces otras informaciones.

  Esta información adicional podría incluir :  La longitud del campo de datos asociado al símbolo.  Los bits de reubicación.(el símbolo cambia de valor si el programa se carga en una dirección diferente de la que el ensamblador supuso?)  Si el símbolo estará o no accesible afuera del procedimiento.

  La función de la segunda pasada es generar el programa objeto y probablemente imprimir el listado de ensamblador.  Además la segunda pasada debe producir cierta información que en ensamblador necesita para enlazar procedimiento ensamblados en diferentes momentos para producir un solo archivo ejecutable. Segunda pasada

  La función de la segunda pasada es parecido al de la primera:  Se leen las líneas un por una y se procesan una por una. Dado que ya escribimos el tipo, el código de operación y la longitud al principio de cada liena en el archivo temporal) se leen todos estos datos para ahorrar algo de análisis

  durante la primera pasada el procesador de ensamblado, el ensamblador acumula información acerca de los símbolos y valores, la cual debe guardarse en la tabla de símbolos para consultar durante la segunda pasada La tabla de símbolos

  Hay varias formas de organizar la tabla de símbolos

 Los compiladores y los ensambladores generalmente traducen un procedimiento a la vez y colocan la salida traducida al disco Antes de que el programa pueda ejecutarse, es preciso encontrar todos los procedimientos traducidos y enlazados de forma correcta Si no se encuentra con memoria virtual, el programa enlazado también se deberá cargar explícitamente en la memoria principal 7.4 Enlazado y carga

  Los programas que realizan estas funciones recibe diversos nombres, como enlazador (linker) cargador de en laces (linking loader) y editor de enlace( linkage editor ) La traducción completa de un programa fuente requiere dos pasos :  Compilación o ensamblado de los procedimientos fuente  Enlazado de los modulos objetos

  Al principio la primera pasada del procesos de ensamblad, el contador de posiciones de instrucciones se pone en 0. este paso equivale a suponer que el modulo objeto estará en la dirección (virtual) 0 durante su ejecución tareas que realiza el enlazador

  El enlazador fusiona los espacios de direccionamiento de los módulos objeto en un solo espacio de direcciones lineal siguiendo estos pasos:  Construccion de una tabla con todos los módulos objeto y sus longitudes.  Con base en esta tabla, se asigna una dirección de inicio a cada modulo objeto  Se busca todas las instrucciones que hacen referencia a la memoria y se suma a cada una de ellas una constantes de reubicación igual a la dirección de inicio de modulo