arquitectura de computadoras clase2

6
Arquitectura de Computadoras y Ensambladores 1 Clase No. 2 Universidad de San Carlos de Guatemala Josue Daniel Pirir Morales 1er . Semestre de 2011

Upload: josue-pirir

Post on 25-Jul-2015

807 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Arquitectura de Computadoras  clase2

Arquitectura de Computadoras y Ensambladores 1

Clase No. 2Universidad de San Carlos de Guatemala

Josue Daniel Pirir Morales1er . Semestre de 2011

Page 2: Arquitectura de Computadoras  clase2

El lenguaje ensamblador, o assembler es un lenguaje de programación de bajo nivel para los computadores, microprocesadores, microcontroladores, y otros circuitos integrados programables. Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura dada de CPU y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador. Esta representación es usualmente definida por el fabricante de hardware, y está basada en los nemónicos que simbolizan los pasos de procesamiento (las instrucciones), los registros del procesador, las posiciones de memoria, y otras características del lenguaje.

Un lenguaje ensamblador es por lo tanto específico a cierta arquitectura de computador física (o virtual). Esto está en contraste con la mayoría de los lenguajes de programación de alto nivel, que, idealmente son portables.

Assembler

Page 3: Arquitectura de Computadoras  clase2

El proceso de traducción se realiza en dos fases: Primera fase: “La asociación de dirección de memoria con etiquetas. Este proceso permitirá que los nombres simbólicos y direcciones se conozcan cuando se realicen la traducción de instrucciones”. Segunda fase: “Traducción de las sentencias en lenguaje ensamblador combinando los equivalentes numéricos de los códigos de operación, especificadores de registros y etiquetas en instrucciones correctas”.

Page 4: Arquitectura de Computadoras  clase2

Cuando se es necesario utilizar rutinas ya escritas (módulos) almacenadas en librerías, el assembler se vale del montador o linker, el cual combina estos módulos y bibliotecas en un solo fichero ejecutable, resolviendo las referencias a etiquetas externas. El assembler se encarga de proporcionar la lista de etiquetas y de referencias no resueltas, estas dadas por el uso de etiquetas antes de que sean definidas, esto obliga al assembler a realizar la traducción en las dos fase anteriores que de manera sintetizada se entiende que la primera busca todas las etiquetas y segunda genera la traducción. Por su parte el lenguaje ensamblador es un lenguaje escrito a bajo nivel pero con la diferencia con el lenguaje de maquina que utiliza símbolos y no bits lo cual permite memorizar los códigos de operación y las especificaciones de registros, además este lenguaje permite la utilización de etiquetas para identificar a los objetos almacenados en memoria, este lenguaje a su vez se caracteriza por que es la representación de código mas inmediato al lenguaje de maquina y se encarga de la manipulación del hardware del computador.

Page 5: Arquitectura de Computadoras  clase2

Ilustración 1: La gráfica siguiente representa como assembler convierte un archivo fuente a un ejecutable, en síntesis: el ensamblador toma un fichero fuente escrito en lenguaje a ensamblador que lo traduce a un fichero objeto que auxiliado por el montador se agregan otros ficheros y bibliotecas y se genera el archivo ejecutable.

Page 6: Arquitectura de Computadoras  clase2

Bibliografía

1. http://es.wikipedia.org/wiki/Lenguaje_ensamblador(Leer articulo completo)

2. Estructura y diseño de computadores: Interface circuitería-programación.David A. Patterson, John L. Hennessy, Ramón Canal Carreger. Segunda Edición