La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "JOSE ALBERTO JIMENEZ JIMENEZ KATTY HIPOLITO. 7.1 INTRODUCCION AL LENGUAJE EMSAMBLADOR."— Transcripción de la presentación:

1 JOSE ALBERTO JIMENEZ JIMENEZ KATTY HIPOLITO

2 7.1 INTRODUCCION AL LENGUAJE EMSAMBLADOR

3 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

4 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 ?

5 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

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

7 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.

8 REPETICION DEL CODIGO

9 MACRO

10 SUSTITUCION POR LA MACRO

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

12 MACRO COMO PARAMETRO

13 SUSTITUCION COMO PARAMETRO

14 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.

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

16 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

17 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.

18 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)

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

20 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)

21 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.

22 TRADUCCION Y PRODUCTO

23 ESTRUCTURA DE UN MODULO OBJETO Contiene 6 partes;

24 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.

25 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.

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

27 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.

28 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.

29 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.

30 ENLASADO DINAMICO EN DLL


Descargar ppt "JOSE ALBERTO JIMENEZ JIMENEZ KATTY HIPOLITO. 7.1 INTRODUCCION AL LENGUAJE EMSAMBLADOR."

Presentaciones similares


Anuncios Google