Registros Del Lenguaje Ensamblador Jonatan Sanchez Cruz Gpo ISB
-
Upload
jonatan-s-lewandowski -
Category
Documents
-
view
112 -
download
0
Transcript of Registros Del Lenguaje Ensamblador Jonatan Sanchez Cruz Gpo ISB
![Page 1: Registros Del Lenguaje Ensamblador Jonatan Sanchez Cruz Gpo ISB](https://reader036.fdocuments.co/reader036/viewer/2022080211/5572114b497959fc0b8eba3c/html5/thumbnails/1.jpg)
12-9-2012
Jonatán Sánchez Cruz N° 09161287 Catedrático: L.I Mario Alberto
Blanhir Ramírez Materia: Lenguajes Autómatas I
INSTITUTO
TECNOLÓGICO
DE OAXACA
REGISTROS DEL LENGUAJE ENSAMBLADOR Y
TIPOS DE ANÁLISIS
Ing. Sistemas Computacionales
![Page 2: Registros Del Lenguaje Ensamblador Jonatan Sanchez Cruz Gpo ISB](https://reader036.fdocuments.co/reader036/viewer/2022080211/5572114b497959fc0b8eba3c/html5/thumbnails/2.jpg)
1
REGISTROS DE LENGUAJE ENSAMBLADOR
Los registros del procesador se emplean para controlar instrucciones en ejecución, manejar
direccionamiento de memoria y proporcionar capacidad aritmética. Los registros son
espacios físicos dentro del microprocesador con capacidad de 4 bits hasta 64 bits
dependiendo del microprocesador que se emplee. Los registros son direccionables por
medio de una viñeta, que es una dirección de memoria. Los bits, por conveniencia, se
numeran de derecha a izquierda (15, 14, 13…. 3, 2, 1, 0), los registros están divididos en
seis grupos los cuales tienen un fin específico.
Los registros se dividen en:
• Registros de segmento
• Registros de apuntadores de instrucciones
• Registros apuntadores
• Registros de propósitos generales
• Registro índice
• Registro de bandera.
Registros de uso general
AX = Registro acumulador, dividido en AH y AL (8 bits cada uno).- Interviene en las
operaciones aritméticas y lógicas, después de la operación arroja un resultado.
BX = Registro base, dividido en BH y BL.- Se utiliza en transferencias de datos entre la
memoria y el procesador.
CX = Registro contador, dividido en CH y CL.- Se utiliza como contador en
bucles(LOOP), en operaciones con cadenas(REP), y en desplazamientos(CL).
DX= Registro de datos, dividido en DH y DL.- Se utiliza en operaciones de multiplicación
y división junto con Ax y en operaciones de entrada y salida de puertos, su mitad inferior
DL contiene el número de puertos.
Registros de segmento.
Un registro de segmento se utiliza para alinear en un limite de párrafo o dicho de otra forma
codifica la dirección de inicio de cada segmento y su dirección en un registro de segmento
supone cuatro bits 0 a su derecha.Un registro de segmento tiene 16 bits de longitud y
facilita un área de memoria para direccionamientos conocidos como el segmento actual.
Los registros de segmento son: CS (código), DS (datos), SS (pila), ES , FS y GS.
Registro Apuntador de instrucciones.(IP)
El registro apuntador de instrucciones (IP) de 16 bits contiene el desplazamiento de
dirección de la siguiente instrucción que se ejecuta.
![Page 3: Registros Del Lenguaje Ensamblador Jonatan Sanchez Cruz Gpo ISB](https://reader036.fdocuments.co/reader036/viewer/2022080211/5572114b497959fc0b8eba3c/html5/thumbnails/3.jpg)
2
Registro índice. Los registros SI y DI están disponibles para direccionamientos indexados y
para sumas y restas. Que son las operaciones de punta.
Registro de bandera.
Los registros de banderas sirven parar indicar el estado actual de la máquina y el resultado
del procesamiento, Cuando algunas instrucciones piden comparaciones o cálculos
aritméticos cambian el estado de las banderas
ANALISIS LEXICO
El analizador léxico verifica que las palabras que conforman el programa fuente
pertenezcan al léxico del lenguaje fuente.
El analizador léxico lee los caracteres que conforman el programa fuente hasta formar una
palabra para luego ser clasificada bajo un tipo de token o tipo de palabra.
Los tipos de tokens comunes a la mayoría de los LP:
Palabras reservadas
Operadores aritméticos, relacionales, lógicos, especiales, etc.
identificadores
Constantes: numéricas, literales, lógicas, etc.
ANALISIS SINTACTICO
El analizador sintáctico verifica que el programa fuente cumpla con la sintaxis que el
lenguaje fuente tiene definido para sus programas.
El parser recibe los tokens que produce el scanner, para verificar que estén debidamente
combinados de tal manera que cumplan con las reglas sintácticas del lenguaje fuente que se
representan a través de una gramática.
El análisis de la cadena de tokens que se realiza mediante la gramática, y se representa
mediante un árbol sintáctico el cual constituye la salida de la fase del análisis sintáctico.
![Page 4: Registros Del Lenguaje Ensamblador Jonatan Sanchez Cruz Gpo ISB](https://reader036.fdocuments.co/reader036/viewer/2022080211/5572114b497959fc0b8eba3c/html5/thumbnails/4.jpg)
3
ANALISIS SEMANTICO
El analizador semántico verifica que se cumplan todas aquellas condiciones necesarias para
el correcto significado de cada parte del programa fuente.
Recibe como entrada el árbol sintáctico que produce el analizador sintáctico, para verificar
el cumplimiento de las reglas semánticas asociadas a cada parte del programa que se
aprecia en dicho árbol sintáctico.
Realiza comprobaciones estáticas, tales como: verificación e inferencia de tipos en
asignaciones y expresiones, declaración antes de uso, correcto uso de operadores, etc.
COMPILADORES DE UNA SOLA PASADA
Generan el código máquina a partir de una única lectura del código fuente, es decir examina
el código fuente una vez, generando el código o programa objeto.
Donde el análisis léxico, sintáctico, semántico y la generación de código se realizan en una
pasada, es decir, se explora el texto fuente sentencia a sentencia (o bloques de
sentencias) realizándose los tres análisis y la generación de código.
Ventajas
* Fue fácil de implementar
* Generaba poca actividad de entrada/salida
* El código de un procedimiento se compila en memoria y se escribe como una unidad a
la memoria secundaria
Desventajas
* Limitaciones en la calidad del código generado
* Mucha necesidad de memoria
COMPILADORES DE VARIAS PASADAS
En un compilador de varias pasadas, la tabla de símbolos (TS) se crea durante el análisis
léxico y sintáctico (pasada 1). En los compiladores modernos la TS se crea durante el
primer recorrido del árbol AST, una vez creado éste mediante el analizador sintáctico
(pasada 2). Cuando un compilador comienza a traducir un programa fuente, la TS está vacía
o contiene unas pocas entradas para las funciones incorporadas (las palabras reservadas
habitualmente son almacenadas en una tabla aparte y usada exclusivamente por el
analizador léxico).
El analizador léxico separa el programa fuente en tokens que compara con las palabras
reservadas. Si el token comparado no es una palabra reservada se asume que es un
![Page 5: Registros Del Lenguaje Ensamblador Jonatan Sanchez Cruz Gpo ISB](https://reader036.fdocuments.co/reader036/viewer/2022080211/5572114b497959fc0b8eba3c/html5/thumbnails/5.jpg)
4
identificador y durante el sintáctico (fase sintáctica) se añade a ella. Si el token comparado
se encuentra en la TS, el analizador sintáctico accede directamente al índice que identifica a
dicho identificador reconocido anteriormente, en caso contrario, el analizador sintáctico
introduce dicho símbolo en la TS.
Según avanza la compilación, sólo se añade una entrada para cada identificador nuevo, pero
se explora la Tabla una vez por cada nueva aparición de un identificador.