Está en la página 1de 4

TECNOLÓGICO DE ESTUDIOS SUPERIORES DE CUAUTITLÁN

IZCALLI
Código: FO-205P11000-XX
FORMATO DE ENTREGA DE
EVIDENCIAS Página 1de4

División: (1) INGENIERIA EN SISTEMAS COMPUTACIONES Grupo: (2) 362-M


Asignatura: (3) Lenguajes y Autómatas II Docente: (4) Santillán Choreño María Angélica
Nombre del alumno: (5) No. de Control: (6) Fecha: (7) Nº Actividad: (8)

Hernández Núñez Karla 103107112 18/junio/2013


Trejo Cruz Kevin 103107110
Producto: (9) Calificación y firma del profesor:(10)

Unidad IV

Generación de código objeto

4.1 Registro

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.
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE CUAUTITLÁN
IZCALLI
Código: FO-205P11000-XX
FORMATO DE ENTREGA DE
EVIDENCIAS Página 2de4

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 límite 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.

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.
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE CUAUTITLÁN
IZCALLI
Código: FO-205P11000-XX
FORMATO DE ENTREGA DE
EVIDENCIAS Página 3de4

4.2 Lenguaje ensamblador

El lenguaje Ensamblador es un tipo de lenguaje de bajo nivel utilizado para escribir programas
informáticos, y constituye la representación más directa del código máquina específico para cada
arquitectura de computadoras legible por un programador.

Fue usado ampliamente en el pasado para el desarrollo de software, pero actualmente sólo se utiliza
en contadas ocasiones, especialmente cuando se requiere la manipulación directa del hardware o se
pretenden rendimientos inusuales de los equipos.

Un ensamblador crea código objeto traduciendo instrucciones mnemónicas a códigos operativos, e


interpretando los nombres simbólicos para direcciones de memoria y otras entidades. El uso de
referencias simbólicas es una característica básica de los ensambladores, evitando tediosos cálculos
y direccionamiento manual después de cada modificación del programa. La mayoría de los
ensambladores también incluyen facilidades para crear macros, a fin de generar series de
instrucciones cortas que se ejecutan en tiempo real, en lugar de utilizar subrutinas.

La transformación del lenguaje Assembly en código máquina la realiza un programa ensamblador, y


la traducción inversa la puede efectuar un desensamblador.

4.3 Lenguaje máquina

Un lenguaje de programación de bajo nivel es el que proporciona poca o ninguna abstracción del
microprocesador de un ordenador. Consecuentemente es fácilmente trasladado a lenguaje de
máquina.

La palabra “bajo” no implica que el lenguaje sea inferior a un lenguaje de alto nivel; se refiere a la
reducida abstracción entre el lenguaje y el hardware.
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE CUAUTITLÁN
IZCALLI
Código: FO-205P11000-XX
FORMATO DE ENTREGA DE
EVIDENCIAS Página 4de4

En general se utiliza este tipo de lenguaje para programar controladores (drivers).

La programación en un lenguaje de bajo nivel como el lenguaje de la máquina o el lenguaje


simbólico tiene ciertas ventajas:
 Mayor adaptación al equipo.
 Posibilidad de obtener la máxima velocidad con mínimo uso de memoria.

Pero también tiene importantes inconvenientes:


 Imposibilidad de escribir código independiente de la máquina.
 Mayor dificultad en la programación y en la comprensión de los programas.
 El programador debe conocer más de un centenar de instrucciones.
 Es necesario conocer en detalle la arquitectura de la máquina.

4.4 Administración de memoria

La administración de la memoria es un proceso hoy en día muy importante, de tal modo que su mal o
buen uso tiene una acción directa sobre el desempeño de memoria.

• En general un ensamblador tiene un administrador de memoria más limitado que un compilador.


En la mayoría de los lenguajes de programación el uso de punteros no estaba vigilado por lo que se
tienen muchos problemas con el uso de memoria.

• Los lenguajes más recientes controlan el uso de punteros y tienen un programa denominado
recolector de basura que se encarga de limpiar la memoria no utilizada mejorando el desempeño.

Bibliografía
Sánchez Dueñas G. (1989) Compiladores E Interpretes, México, LAVEL