Você está na página 1de 6

Universidad Nacional Pedro Ruiz

Gallo
FACULTAD DE INGENIERÍA CIVIL, SISTEMAS Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

ARQUITECTURA DE
COMPUTADORAS

Docente: Oscar Salazar Carbonel

Integrantes:
- Carrasco Alberto
- Llumpo Reque Frank
- Vásquez Chicoma Jesús
|

Lambayeque enero 2019


“Año de lucha contra la corrupción e impunidad “

Arquitectura de Computadoras

LENGUAJE ENSAMBLADOR
Es un lenguaje de programación de bajo nivel. Consiste en un conjunto de nemónicos que representan
instrucciones básicas 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 de procesador y constituye la
representación más directa del código máquina específico para cada arquitectura legible por un
programador. Cada arquitectura de procesador tiene su propio lenguaje ensamblador que usualmente
es definida por el fabricante de hardware, y está basada en los mnemó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 de 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.

Nemónico: es una palabra que sustituye a un código de operación (lenguaje de máquina), con lo cual
resulta más fácil la programación, es de aquí de donde se aplica el concepto de lenguaje ensamblador.

Un programa utilitario llamado


ensamblador es usado para traducir
sentencias del lenguaje ensamblador
al código de máquina del
computador objetivo. El
ensamblador realiza una traducción
más o menos isomorfa (un mapeo de
uno a uno) desde las sentencias
mnemónicas a las instrucciones y
datos de máquina. Esto está en
contraste con los lenguajes de alto
nivel, en los cuales una sola
declaración generalmente da lugar a
muchas instrucciones de máquina.

Muchos sofisticados ensambladores ofrecen mecanismos adicionales para facilitar el desarrollo del
programa, controlar el proceso de ensamblaje, y la ayuda de depuración. Particularmente, la mayoría
de los ensambladores modernos incluyen una facilidad de macro (descrita más abajo), y se llaman macro
ensambladores.

Características de Compiladores y Ensambladores


 Tanto los compiladores como los Ensambladores caen en la categoría de programas que
llamamos traductores.
 Un traductor es un programa que acepta archivos en código fuente comprensibles para el
humano y genera alguna clase de archivo binario.
 El archivo binario puede ser un archivo de programa ejecutable que el CPU puede comprender,
o podría ser un archivo font, o un archivo de datos binarios comprimido, o alguno de los cientos
de otros tipos de archivos binarios.
 El único lenguaje que entienden los microcontroladores es el código máquina formado por ceros
y unos del sistema binario.

2
“Año de lucha contra la corrupción e impunidad “

Arquitectura de Computadoras

 El lenguaje ensamblador expresa las instrucciones de una forma más natural al hombre a la vez
que muy cercana al microcontrolador, ya que cada una de esas instrucciones se corresponde
con otra en código máquina.
 El lenguaje ensamblador trabaja con nemónicos, que son grupos de caracteres alfanuméricos
que simbolizan las órdenes o tareas a realizar.
 La traducción de los nemónicos a código máquina entendible por el microcontrolador la lleva a
cabo un programa ensamblador.
 El programa escrito en lenguaje ensamblador se denomina código fuente (*.asm). El programa
ensamblador proporciona a partir de este fichero el correspondiente código máquina, que suele
tener la extensión *.hex.
 Los programas traductores generan instrucciones de máquina que el CPU puede comprender.
 Un programa traductor lee un archivo en código fuente línea por línea, y escribe un archivo
binario de instrucciones de máquina que realiza las acciones de computadora que el archivo de
código fuente describe. Este archivo binario es llamado archivo de código objeto.
 Un ensamblador es un tipo especial de compilador, también es un programa traductor que lee
archivos en código fuente y proporciona como salida archivos en código objeto para ser
ejecutados por el CPU. Sin embargo, un ensamblador es un traductor diseñado específicamente
para traducir lo que llamamos lenguaje ensamblador en código objeto.
 En el mismo sentido que un lenguaje compilador para Pascal o C++ compila un archivo en código
fuente a un archivo en código objeto, decimos que un ensamblador ensambla un archivo en
código fuente de lenguaje ensamblador a un archivo en código objeto. El proceso de traducción,
es similar en ambos casos.
 El lenguaje ensamblador, sin embargo, tiene una característica muy importante que se pone
aparte de los de los compiladores, y es: el control total sobre el código objeto.

3
“Año de lucha contra la corrupción e impunidad “

Arquitectura de Computadoras

Código Fuente
El código fuente de un programa informático (o software) es un conjunto de líneas de texto con los pasos
que debe seguir la computadora para ejecutar un programa.

El código fuente de un programa está escrito por un programador en algún lenguaje de programación,
pero en este primer estado no es directamente ejecutable por la computadora, sino que debe ser
traducido a otro lenguaje o código binario; así será más fácil para la máquina interpretarlo (lenguaje
máquina o código objeto que sí pueda ser ejecutado por el hardware de la computadora). Para esta
traducción se usan los llamados compiladores, ensambladores, intérpretes y otros sistemas de traducción.

El término código fuente también se usa para hacer referencia al código fuente de otros elementos del
software, como por ejemplo el código fuente de una página web, que está escrito en lenguaje de marcado
HTML o en JavaScript, u otros lenguajes de programación web, y que es posteriormente ejecutado por el
navegador web para visualizar dicha página cuando es visitada.

El área de la informática que se dedica a la creación de programas, y por tanto a la creación de su código
fuente, es la ingeniería de software.

SINTAXIS DE UNA LÍNEA EN ENSAMBLADOR.


Un programa fuente en ensamblador contiene dos tipos de sentencias: las instrucciones y las directivas.
Las instrucciones se aplican en tiempo de ejecución, pero las directivas sólo son utilizadas durante el
ensamblaje. El formato de una sentencia de instrucción es el siguiente:

[etiqueta] nombre_instrucción [operandos] [comentario]

Los corchetes, como es normal al explicar instrucciones en informática, indican que lo especificado entre
ellos es opcional, dependiendo de la situación que se trate.

Está compuesto por una sucesión de líneas de texto. Cada línea puede estructurarse en hasta cuatro
campos o columnas separados por uno o más espacios o tabulaciones entre sí.

 Campo de etiquetas: Expresiones alfanuméricas escogidas por el usuario para identificar una
determinada línea. Todas las etiquetas tienen asignado el valor de la posición de memoria en la
que se encuentra el código al que acompañan. Consta de hasta 31 caracteres que pueden ser las
letras de la A a la Z, los números del 0 al 9 y algunos caracteres especiales como «@», «_», «.» y
«$». Reglas:

o Si se utiliza el punto «.» éste debe colocarse como primer carácter de la etiqueta.
o El primer carácter no puede ser un dígito.
o No se pueden utilizar los nombres de instrucciones o registros como nombres de
etiquetas.

Las etiquetas son de tipo NEAR cuando el campo de etiqueta finaliza con dos puntos (:); esto es,
se considera cercana: quiere esto decir que cuando realizamos una llamada sobre dicha etiqueta
el ensamblador considera que está dentro del mismo segmento de código (llamadas
intrasegmento) y el procesador sólo carga el puntero de instrucciones IP. Téngase en cuenta que
hablamos de instrucciones; las etiquetas empleadas antes de las directivas, como las directivas
de definición de datos, por ejemplo, no llevan los dos puntos y sin embargo son cercanas.

4
“Año de lucha contra la corrupción e impunidad “

Arquitectura de Computadoras

Las etiquetas son de tipo FAR si el campo de etiqueta no termina con los dos puntos: en estas
etiquetas la instrucción a la que apunta no se encuentra en el mismo segmento de código sino en
otro. Cuando es referenciada en una transferencia de control se carga el puntero de instrucciones
IP y el segmento de código CS (llamadas intersegmento).
 Campo de código: Corresponde al nemónico de una instrucción, de una directiva o de una llamada
a macro.
 Campo de operandos y datos: Contiene los operandos que precisa el nemónico utilizado. Según
el código, puede haber dos, uno o ningún operando. Indica cuales son los datos implicados en la
operación. Puede haber 0, 1 ó 2; en el caso de que sean dos al 1º se le llama destino y al 2º -
separado por una coma- fuente.
mov ax, es:[di] --> ax destino
es:[di] origen

 Campo de comentarios: Dentro de una línea, todo lo que se encuentre a continuación de un


punto y coma (;) será ignorado por el programa ensamblador y considerado como comentario.

La creación de un programa fuente está protegida por los derechos de propiedad intelectual. El
programador decide si su programa fuente puede ser accesible a otros programadores o no. Cuando
el código fuente es cerrado, se indica que sólo será accesible para su creador y para quienes éste
autorice con anterioridad. Si el código fuente es abierto, en cambio, el programador autoriza que
otras personas lean, modifiquen y redistribuyan el programa fuente.

Un aspecto interesante a tener en cuenta cuando se habla del código fuente de un programa
informático es si su licencia permite que dicho código fuente esté disponible para que cualquiera
pueda estudiarlo, modificarlo o reutilizarlo. Cuando se cumple este aspecto se dice que el programa
es de Código abierto y son, en general, software libre, en contraposición al software privativo sobre
el cual no se tiene ninguno de estos permisos.

Campo de Código
Puede corresponder ese código a:

Instrucciones: son aquellos nemónicos que son convertidos por el ensamblador en código máquina que
puede ejecutar el núcleo del microcontrolador. En la gama media (PIC16xxx) cada nemónico se convierte
en una palabra en la memoria de programa

Directivas: Pseudoinstrucciones que controlan el proceso de ensamblado del programa, pero no son parte
del código. Son indicaciones al programa ensamblador de cómo tiene que generar el código máquina

Macros: Secuencia de nemónicos que pueden insertarse en el código fuente del ensamblador de una
manera abreviada mediante una simple llamada.

5
“Año de lucha contra la corrupción e impunidad “

Arquitectura de Computadoras

Você também pode gostar