JOSE ALBERTO JIMENEZ JIMENEZ KATTY HIPOLITO. 7.1 INTRODUCCION AL LENGUAJE EMSAMBLADOR.

Slides:



Advertisements
Presentaciones similares
LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
Advertisements

CLASE 3 SOFTWARE DEL MICROPROCESADOR
Fundamentos de programación
Lenguajes de programación
Temas Operaciones básicas Instalando el compilador
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
PROGRAMACION DE ESTRUCTURAS DE DATOS
Programación 1 Introducción
Teoría de lenguajes y compiladores
Programación en Lenguaje Ensamblador.
Tema 3. Optimización de Código

Tema 6. Conceptos básicos de programación
ALGORITMOS, LENGUAJES Y TECNICAS DE PROGRAMACION
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.
Estructura de un programa en C
FUNDAMENTOS DE PROGRAMACION
INGENIERIA EN SISTEMAS COMPUTACIONALES
Estructuras de Datos Arreglos.
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.),
Asignación de Espacio No Contiguo
Administración de Memoria
LENGUAJE DE PROGRAMACIÓN
1.4 Traductor y Su estructura
Procesadores de Lenguajes
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.
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
Capítulo 7 Gestión de memoria.
Programación de Sistemas
APRENDIZ: SANDRA L. CAICEDO C. ORDEN: 20194
Ejecución de un programa escrito en Java Java es un lenguaje que se ejecuta con un intérprete a diferencia de Pascal o C que se compilan para producir.
Introducción a la tecnología Realizado por: Miguel Ángel Arias.
Prof. Gabriel Matonte Programación I Prof. Gabriel Matonte
Algorit moAlgorit mo An á lisisAn á lisis Argumen toArgumen to Asignación Asociación Cometar ioCometar io Compilación Constan teConstan te Definición.
Lenguajes de Programación
Metodología de la programación
SEMANA 01_2.
Prof. Flor Narciso Departamento de Computación
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
Elaboración de algoritmos usando lógica de programación
UNIDAD V Bibliotecas de Funciones L.I. & M.S.C. OSCAR RAMÍREZ CORTÉS PROGRAMACIÓN DE SISTEMAS.
Tipos de Lenguajes Ensamblador.
Práctica Profesional PHP.
2.2.2 S EGMENTACIÓN Jorge Javier Camacho Cortés. Samuel Gallegos Gómez. Dunia Andrea González Corona.
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
INTERFAZ DE ACCESS  Access es un sistema gestor de bases de datos relacionales (SGBD). Una base de datos suele definirse como un conjunto de información.
Programación de Sistemas
 Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.
MEMORIA DINÁMICA.
Fundamentos de Programación Unidad I Conceptos Básicos.
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
Tema 8: Programación estructurada Introducción La importancia del conocimiento de programación es mucho mayor de lo que se piensa. Aprender a programar.
Clase II Estructuras dinámicas (TAD) Listas Enlazadas. ¿A que llamamos estructuras dinámicas? ¿Por qué son necesarias? Ventajas y Desventajas que tendremos.
1 Introducción a la Programación Estructurada Introducción a la Informática Departamento de Sistemas Universidad del Cauca 2006.
Lenguaje ensamblador Resumen en diapositivas
El proceso ensamblador. José Luis Vergara Soberanis.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
METODOS DE PROGRAMACION I Ing. Vania Flores Pinto.
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
P ROCESO DE E NSAMBLADO Cámara Vázquez Berenice Rubí.
Katty Evangelina Hipólito Chi.   Aunque cada maquina tiene un lenguaje ensamblador distinto, el proceso de ensamblador tiene suficiente similitudes.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 7 – Funciones y Procedimientos.
1/50 Ing. Gerardo Chávez Malpartida Administración de Memoria SISTEMAS OPERATIVOS.
Lenguajes de Programación (Definición, Clasificación y Ejemplos)
Una estrategia para evitar la sucesiones repetidas de instrucciones convertir la secuencia en un procedimiento e invocarlo cada vez que se necesite.
Transcripción de la presentación:

JOSE ALBERTO JIMENEZ JIMENEZ KATTY HIPOLITO

7.1 INTRODUCCION AL LENGUAJE EMSAMBLADOR

Los traductores pueden dividirse a grande rasgos en dos grupos, dependiendo de la relación entre el lenguaje fuente y el lenguaje objetivo Al traductor se le llama ensamblador Al lenguaje fuente se llama lenguaje ensamblador Si el lenguaje fuente es un lenguaje de alto nivel como Java o C y el lenguaje objetivo es un lenguaje de maquina numérico o una representación simbólica de tal lenguaje, el traductor se llama compilador Introducción en nivel lenguaje ensamblador

Un lenguaje ensamblador puro es un lenguaje en el que cada enunciado produce exactamente una instrucción de maquina. Esto quiere decir que existe una correspondencia uno a uno entre las instrucciones de maquina y los enunciados del programa en ensamblador ¿Que es un lenguaje ensamblador ?

Obtener un buen desempeño el código ensamblador a veces es la única alternativa debido a la escasez de memoria. La tarjeta inteligente contienen Razones para programar en lenguaje ensamblador

Una estrategia para evitar la sucesiones repetidas de instrucciones convertir la secuencia en un procedimiento e invocarlo cada vez que se necesite.

DEFINICION, LLAMADA Y EXPANSIÓN DE MACROS. Un macro es una forma de asignar un nombre a un fragmento de texto. Se le llama llamada a la macro cuando se usa el nombre de la macro como código de operación. Se denomina expansión a la macro la sustitución de la macro con el código.

REPETICION DEL CODIGO

MACRO

SUSTITUCION POR LA MACRO

MACROS CON PARAMETROS Son secuencias intercambiadas con secuencias casi idénticas. Ejemplo;

MACRO COMO PARAMETRO

SUSTITUCION COMO PARAMETRO

CARACTERISTICAS AVANZADAS Hay diversas formas para evitar que las etiquetas se dupliquen, una de ellas es permitir que una etiqueta se declare como local es decir definir macros dentro de otras macros además de usar el if.

EJEMPLO Una macros puede incluir otras macros incluidas en ella misma.

INPLEMENTACION DE UN RECURSO DE MACROS EN ENSAMBLADOR. Se puede hacer de dos formas ; 1. Guardar definiciones de macros 2. Expandir llamadas de macros. Se define de la siguiente manera

EXPANDIR LLAMADAS DE MACROS. Esta estrategia consiste en leer el programa en lenguaje ensamblador una vez, convertirlo en forma inmediata, y guardar esta forma en inmediata en una tabla en la memoria.

7.3 EN LA PRIMERA PASADA se tiene que analizar sintácticamente cada línea para encontrar el código de operación (como ejemplos tenemos el operador add.mov) buscar su tipo(operados) y calcular la longitud de la instrucción y finaliza con la seudoinstruccion END.(acumula información acerca de los símbolos)

SEGUNDA PASADA Debe producir información para el enlazador para enlazar los procedimientos.se leen las líneas una por una y se procesan.

LAS TABLAS DE SIMBOLO Hay varias formas de organizar las tablas de símbolos ; Implementar la tabla de símbolos como arreglo de pares cuyo primer elemento es el símbolo y después el valor.(memoria asociativa) Ordenarla por símbolo y usar el algoritmo de búsqueda binaria para localizar el símbolo.(algoritmo de búsqueda binaria)

7.4 ENLAZADO Y CARGA antes de Que el programa pueda ejecutarse es preciso encontrar todos los procedimientos traducidos y enlazados de forma correcta. Los pasos son compilación y enlace, el primero lo hace el ensamblador, el segundo el enlazador. El enlazado es reunir los procedimientos traducidos por separado y enlazados para que se ejecuten.

TRADUCCION Y PRODUCTO

ESTRUCTURA DE UN MODULO OBJETO Contiene 6 partes;

1.-nombre del modulo 2.-es una lista de los símbolos definidos en el modulo a los que otros módulos podrían hacer referencia junto con sus valores. 3.-es una lista de los símbolos que se usan en el modulo pero se definen en otros módulos. 4.-es el código ensamblado y las constantes. 5. diccionario de ubicación. 6.-fin del modulo.

TIEMPO DE LIGADO Y REHUBICACION DINAMICA El momento en que se determina la dirección real en la memoria principal que corresponde a “l” se denomina tiempo ligado(posibilidades) 1. cuando se escribe el programa 2. Cuando se traduce el programa. 3. Cuando se enlaza el programa pero antes de cargarlo.

5.-cuando se carga un registro base que se usa para direccionamiento. 6.-cuando se ejecuta la instrucción que contiene la dirección.

ENLAZADO DINAMICO Una forma mas flexible de enlazar procedimientos copilados por separado es enlazar cada procedimiento en el momento en que se invoca por primera vez eso se le denomina enlazado dinámico.

ENLASADO DINAMICO MULTICS En la modalidad multics de enlazado dinámico, cada programa esta asociado a un segmento llamado segmento de enlace, que contiene un bloque de información para cada procedimiento que podría invocarse.

ENLASADO DINAMICO EN WINDOWS el enlazado dinámico emplea un formato de archivo especial llamado dll(biblioteca de enlace dinámico), estas contienen procedimientos, datos o ambos. y se pueden carga en memoria y varios procesos pueden accesar al mismo tiempo. Un programa se puede ligar con un dll de dos formas enlazado implícito y enlazado explicito.

ENLASADO DINAMICO EN DLL