Sistemas

Solo disponible en BuenasTareas
  • Páginas : 11 (2689 palabras )
  • Descarga(s) : 0
  • Publicado : 4 de septiembre de 2010
Leer documento completo
Vista previa del texto
Arquitectura de Computadoras Clase #3 Lenguaje Ensamblador
Dr. Wladimir Rodríguez Departamento de Computación wladimir@ula.ve
http://sistemas.ing.ula.ve/~wladimir/ArquitecturaComputadoras.html

Lenguaje Ensamblador
• Introducción. • Ventajas e inconvenientes del lenguaje
ensamblador.

• Funcionamiento del ensamblador. • El montador de enlaces (o linker). • Utilidades de losensambladores. • Lenguaje ensamblador del procesador MIPS R2000
Dr. Wladimir Rodríguez 2 Arquitectura de Computadoras

Ventajas e inconvenientes del lenguaje ensamblador
• Ventajas del lenguaje ensamblador
• •
Útil cuando es crítico alguno de los siguientes factores:

• •

Tiempo de ejecución del programa. Tamaño del programa.

El programador puede seleccionar instrucciones específicas de laarquitectura para realizar una determinada operación.

Dr. Wladimir Rodríguez

3

Arquitectura de Computadoras

• Inconvenientes del lenguaje ensamblador
• • • • •

Ventajas e inconvenientes del lenguaje ensamblador
Los programas son específicamente inherentes a la máquina. Son de mayor tamaño que los programas equivalentes escritos en lenguaje de alto nivel. Menor productividad deldesarrollo software. Los programas son difíciles de leer, escribir y pueden contener más errores.

• Soluciones híbridas para aprovechar la fortaleza de
cada lenguaje
La mayor parte del programa se escribe en alto nivel. Las secciones críticas en lenguaje ensamblador.
4 Arquitectura de Computadoras

Dr. Wladimir Rodríguez

Funcionamiento del Ensamblador
• Un ensamblador traduce un archivo consentencias
en lenguaje ensamblador a un archivo de instrucciones máquina y datos binarios.

• Traducción en dos pasadas:

Primera pasada: Calcula las posiciones de memoria que corresponden a los nombres simbólicos que aparecen en el programa para que sean conocidas cuando de traduzcan las instrucciones. Crea tabla de símbolos.

Dr. Wladimir Rodríguez

5

Arquitectura de Computadoras • Segunda pasada:


Funcionamiento del Ensamblador

Traduce cada sentencia del lenguaje ensamblador al combinar los equivalentes numéricos de los códigos de operación, especificadores de registros y rótulos de la tabla de símbolos en una instrucción legal.

• Rótulos o etiquetas
• •
Externos o globales: Pueden ser referenciados desde otro archivo distinto de aquél en el que se define(hay que declararlos como tales). Internos o locales: Sólo puede ser referenciado en el archivo en el que se define (locales por defecto).
6 Arquitectura de Computadoras

Dr. Wladimir Rodríguez

El montador de enlaces (linker)
• El ensamblador procesa cada archivo de un
enlaces (o linker). programa de forma individual. Solamente se conocen las direcciones de los rótulos locales.

•Necesidad de otra herramienta: El montador de
• •
Combina una colección de archivos objetos y librerías (opcional) en otro archivo ejecutable al resolver los rótulos externos. El ensamblador asiste al montador suministrándole una tabla de símbolos o rótulos y referencias no resueltas.
7 Arquitectura de Computadoras

Dr. Wladimir Rodríguez

El montador de enlaces (linker)

Dr. WladimirRodríguez

8

Arquitectura de Computadoras

Utilidades de los Ensambladores
• Los ensambladores proporcionan diversas • Utilidades:

Directivas para organizar datos en memoria.

características (utilidades) que facilitan al programador la escritura de los programas.



Permite al programador describir los datos de una manera más concisa y natural que la representación binaria: decimal,ASCII, hexadecimal,...

Dr. Wladimir Rodríguez

9

Arquitectura de Computadoras

• Utilidades:
• • •
Macros

Utilidades de los Ensambladores

• •

Permiten nombrar una secuencia de instrucciones frecuentemente utilizada. No confundir con procedimiento o subrutina. Son proporcionadas por algunos lenguajes ensambladores y no forman parte del repertorio de instrucciones del...
tracking img