Entradas
Registros de Emu8086
- Obtener vínculo
- X
- Correo electrónico
- Otras apps
2.1. Registros de datos Los registros de datos son de 16 bits, aunque están divididos. lo que permite su acceso en 8 bits. Estos registros son de propósito general aunque todos tiene alguna función por defecto. AX (acumulador) se usa para almacenar el resultado de las operaciones, es al único registro con el que se puede hacer divisiones y multiplicaciones. Puede ser accedido en 8 bits como AH para la parte alta (HIGH) y AL (LOW) para la parte baja. BX (registro base) almacena la dirección base para los accesos a memoria. También puede accederse como BH y BL, parte alta y baja respectivamente. CX (contador) actúa como contador en los bucles de repetición. CL (parte baja del registro) almacena el desplazamiento en las operaciones de desplazamiento y rotación de múltiples bits. DX (datos) es usado para almacenar los datos de las operaciones. 2.2. Registros de segmento Los registros de segmento son de 16 bits (como ya se dicho antes) y contienen e...
Lenguaje Ensamblador
- Obtener vínculo
- X
- Correo electrónico
- Otras apps
section .data- Declaracion de variables msg db "Hello world!", 0ah- MSG Guarda el mensaje recibido section .text global _start- Etiqueta que muestra el inicio del codigo _start: mov rax, 1- Transfiere datos entre celdas de memoria y registros. mov rdi, 1 mov rsi, msg mov rdx, 13 syscall mov rax, 60 mov rdi, 0 syscall- lleva a cabo la llamada al sistema cuya interfaz con el lenguaje ensamblador está definida por number con los argumentos especificados. section .data: Esta línea indica el comienzo de la sección de datos del programa, donde se definen las variables y constantes utilizadas. msg db "Hello world!", 0ah: Aquí se define la variable msg como una cadena de caracteres que contiene el mensaje "Hello world!". El 0ah al final indica un salto de línea. section .text: Esta línea indica el comienzo de la sección de código del programa, donde s...
Generación de código objeto
- Obtener vínculo
- X
- Correo electrónico
- Otras apps
4.1 Registros ¿Qué son? Los registros son la memoria principal de la computadora. Existen diversos registros de propósito general y otros de uso exclusivo. Algunos registros de propósito general son utilizados para cierto tipo de funciones. Existen registros acumuladores, puntero de instrucción, de pila, etc. Los registros son espacios físicos dentro del microprocesador con capacidad de 4 bits hasta 64 bits dependiendo del microprocesador que se emplee. ¿Quiénes lo utilizan? Antes de nada, para el desarrollo de esta parte hablaremos indistintamente de registros de activación o de marcos de pila. Esto se debe a que en la documentación encontrada sobre el manejo de los registros ebp y esp se hace mención a dicho concepto de marco de pila. Puesto que el lenguaje permite recursividad, los registros de activación se asignan dinámica mente. Dist...
Comparación de optimización por ciclos
- Obtener vínculo
- X
- Correo electrónico
- Otras apps
Optimizacion
- Obtener vínculo
- X
- Correo electrónico
- Otras apps
3.1 TIPOS DE OPTIMIZACION En ciencias de la computación, un compilador optimizador es un compilador que trata de minimizar ciertos atributos de un programa informático con el fin de aumentar la eficiencia y rendimiento. Las optimizaciones del compilador se aplican generalmente mediante una secuencia de transformaciones de optimización, algoritmos que transforman un programa para producir otro con una salida semánticamente equivalente pero optimizado. Generalmente hay varios aspectos que se desean optimizar: • Optimización temporal: Reducir el tiempo de ejecución del programa. • Optimización espacial: Reducir la cantidad de espacio en memoria que ocupa el programa en ejecución. • Reducir el tamaño del programa. • Minimizar la potencia ...
2.3.6 Estructuras
- Obtener vínculo
- X
- Correo electrónico
- Otras apps
Estructura y fases de un compilador (2) Análisis lineal También conocido como: análisis léxico o exploración. Ejemplo, en la proposición de asignación: posicion = inicial + velocidad * 60 Se identifican los siguientes componentes léxicos Identificador (posicion) Símbolo de asignación (=) Identificador (inicial) Signo de suma (+) Identificador (velocidad) Signo de multiplicación (*) Número (60) 12. Estructura y fases de un compilador (3) Análisis jerárquico También llamado análisis sintáctico. Implica agrupar los componentes léxicos en frases gramaticales que el compilador utiliza para sintetizar la salida. Por lo general, las frases gramaticales se representan mediante un árbol de análisis sintáctico. Ejemplo: Proposición de asignación Identificador posición = expresión expresión identificador + expresión inicial expresión identificador * expresión velocidad Número 60 13. Estructura y fases de un compilador (4) La estructura jerárquica de un programa normalmente se ex...