La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Cada maquina tiene un lenguaje ensamblador distinto

Presentaciones similares


Presentación del tema: "Cada maquina tiene un lenguaje ensamblador distinto"— Transcripción de la presentación:

1 Cada maquina tiene un lenguaje ensamblador distinto
7.3 PROCESO DE ENSAMBLADO Cada maquina tiene un lenguaje ensamblador distinto pero el proceso de ensamblador tiene suficientes similitudes en las distintas maquinas que es posible describirlo en términos generales.

2 Podría parecer natural tener un ensamblador que lea un enunciado,
7.3.1 ENSAMBLADORES DE DOS PASADAS 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. Este proceso se repetiría hasta haber traducido todo el programa. Lo malo es que tal estrategia no funciona.

3 EL ensamblador no podrá ensamblar el enunciado
hasta que no conozca la dirección del enunciado de salto . Dicho enunciado podría estar cerca del final del programa, y para el ensamblador seria imposible encontrar la dirección sin leer antes casi todo el programa.

4 Este problema se conoce como problema
de la referencia adelantada porque se ha usado un símbolo o enunciado, antes de definirse.

5 El ensamblador podría leer el programa fuente dos veces.
COMO MANEJAR UNA REFERENCIA ADELANTADA El ensamblador podría leer el programa fuente dos veces. Cada lectura del programa fuente es una pasada. Cualquier traductor que lee dos veces el programa de entrada es un traductor de dos pasadas.

6 Se reúnen las definiciones de símbolos ,
PRIMERA PASADA DE UN ENSAMBLADOR DE 2 PASADAS Se reúnen las definiciones de símbolos , incluidas las etiquetas de enunciados, y se guarda en una tabla. Para cuando se inicia la segunda pasada ya se conocen los valores de todos los símbolos, así que no quedan ya referencias adelantadas y cada enunciado puede leerse ,ensamblarse y enviarse hacia la salida .

7 La segunda estrategia consiste en leer
COMO MANEJAR UNA REFERENCIA ADELANTADA La segunda estrategia consiste en leer el programa en lenguaje ensamblador una vez, convertirlo en una forma intermedia, y guardar esta forma intermedia en una tabla en la memoria. Luego se efectúa otra pasada ,pero ahora por la tabla, no por el programa fuente.

8 Otra tarea de la primera pasada es guardar todas
las definiciones de macros y expandir las llamadas conforme se llega a ellas. Generalmente la definición de los símbolos y la expansión de las macros se realizan en la primera pasada.

9 La primera pasada de casi todos los ensambladores utiliza
por lo menos tres tablas 1.-tabla de símbolos :tiene una entrada para cada símbolo, los símbolos se definen ya sea usándolos como etiquetas o por definición explicita. Cada entrada de la tabla de símbolos contiene el símbolo, su valor numérico y a veces otra información.

10 2.-la tabla de seudoinstrucciones.
3.- tabla de códigos de operación: contiene al menos una entrada para cada código de operación simbólico. Cada entrada contiene el código de operación Simbólico, dos operandos, el valor numérico del código de operación, la longitud de la instrucción.

11 7.3.2 SEGUNDA PASADA La función de la segunda pasada es generar el programa objeto y posiblemente imprimir el listado de ensamblado. La segunda pasada debe producir cierta información que el enlazador necesita para enlazar procedimiento ensamblador en diferentes momentos para producir un solo archivo ejecutable.

12

13 7.4 ENLAZADO Y CARGA Casi todos los programas consisten en mas de un procedimiento. Los compiladores y ensambladores generalmente traducen un procedimiento a la vez y colocan la salida traducida en disco. Los programas que realizan estas funciones reciben diversos nombres, como enlazador, cargador de enlace y editor de enlace.

14 7.4 ENLAZADO Y CARGA

15 7.4.1 TAREAS QUE REALIZA EL ENLAZADOR

16


Descargar ppt "Cada maquina tiene un lenguaje ensamblador distinto"

Presentaciones similares


Anuncios Google