You are on page 1of 29

UNIVERSIDAD TCNICA DEL

NORTE
INGENIERIA EN ELECTRONICA Y REDES
DE
COMUNICACION

SISTEMAS OPERTATIVOS
LENGUAJE
ENSAMBLADOR

DIAZ JOHN1

Introduccin
El ordenador solo
entiende el
lenguaje de
cdigo binario o
cdigo maquina
,solo utiliza 0 y 1
para de codificar
cualquier accin .
2

Lenguaje de bajo nivel


Son lenguajes
totalmente
dependientes de
la maquina .
Dentro de este
grupo se
encuentra el
lenguaje
ensamblador.
3

Lenguaje Ensamblador
Derivado del
lenguaje
maquina ,
formado por
abreviaturas de
letras y nmeros
llamadas
mnemotcnicos .
4

Qu es un lenguaje
ensamblador?
Es un lenguaje en el que cada enunciado produce
exactamente una instruccin maquina.
Los lenguajes ensambladores tienen acceso a todas
las caractersticas e instrucciones disponibles en la
maquina.
En resumen todo lo que puede hacerse en lenguaje
maquina puede hacerse en lenguaje ensamblador.
5

Importancia
El lenguaje
ensamblador es
importante por
que el es
considerado de
primera
generacin a
partir de el se
derivaron todos
los dems
lenguajes hasta

Caractersticas
Ensamblador es directamente traducible al Lenguaje
de Mquina, y viceversa.
La computadora no entiende directamente al
Lenguaje Ensamblador; es necesario traducirle a
Lenguaje de Mquina.
Se utilizan traductores que convierten el cdigo
fuente (en Lenguaje Ensamblador) a cdigo objeto.
El usar los traductores de cdigo son con el fin de
facilitar la programacin y tener el control del harware.
7

Ventajas y desventajas del Lenguaje


Ensamblador vs lenguaje de alto nivel

Lenguaje Ensamblador.

Lenguaje de alto nivel.

1. Velocidad

1. Tiempo de programacin

2. Eficiencia de tamao.

2. Programas fuente grandes

3. Flexibilidad

3. Peligro de afectar recursos


inesperadamente.
4. Falta de portabilidad

Velocidad
Implica un proceso de cmputo
adicional al que el programador
quiere realizar.
Un intrprete es siempre ms
lento que realizar la misma
accin en Lenguaje
Ensamblador.
Los compiladores son mucho
ms rpidos que los intrpretes,
pues hacen la traduccin una
vez y dejan el cdigo objeto.
Mayor parte de las veces, el
cdigo generado por un
compilador es menos eficiente
que el cdigo equivalente que un
programador escribira.

Tamao
Existen
programas donde
el uso de las
memoria es
critico para esos
casos es eficiente
el lenguaje
ensamblador por
la mnima
cantidad de
recursos de los

10

Flexibilidad
Las razones anteriores son cuestin de
grado:
Los lenguajes de alto nivel tienen
limitantes en el control; al hacer
abstracciones, limitan su propia
capacidad.
En cambio, en ensamblador es
sumamente sencillo, pues tenemos el
acceso directo al hardware del
monitor.

11

Tiempo de programacin
Requiere ms
instrucciones para
realizar el mismo
proceso.
Por otro lado, requiere de
ms cuidado por parte del
programador
12

Programa fuentes
grandes

Crecen los programas

fuentes; simplemente,
requerimos ms
instrucciones primitivas
para describir procesos
equivalentes. Esto es una
desventaja porque
dificulta el mantenimiento
de los programas, y
nuevamente reduce la
productividad de los
programadores.
13

Peligro de afectar
recursos
El problema es que
todo error que
podamos cometer, o
todo riesgo que
podamos tener,
podemos tenerlo
tambin en este
Lenguaje. Dicho de otra
forma, tener mucho
poder es til pero
tambin es peligroso.
14

Falta de portabilidad
Como ya se mencion,
existe un lenguaje
ensamblador para cada
mquina; por ello,
evidentemente no es
una seleccin apropiada
de lenguaje cuando
deseamos codificar en
una mquina y luego
llevar los programas a
otros SO.
15

Instrucciones en ensamblador
Mov.-mueve el valor de un registro o un

numero hacia otro registro ejmplo mov


Bx,5 , movAX,bx.
add.-Sumar el valor de un registro a otro
registro ADD BX,5
sub.-Rest el valor de un registro o valor
especifico a un registro sub cx,2
inc incrementa en 1 el valor del registro inc
bx
dec.-Decrementa en 1 el valor del registo
dec bx
16

Registros
Los registros del
procesador se
emplean para
controlar
instrucciones en
ejecucin,
manejar
direccionamiento
de memoria y
proporcionar
capacidad

17

Registros de segmento
Codifica la
direccin de inicio
de cada segmento
y su direccin en
un registro de
segmento supone
cuatro bits 0 a su
derecha.

Registro CS

Registro DS

Registro SS

Registro ES

Registro FS y GS

18

Registro Apuntador
Los registros
apuntadores estn
asociados con el
registro SS y
permiten al
procesador
accesar datos en
el segmento de
pila los registros
apuntadores son
dos.

El registro SP

El registro BP

19

Registros de
propsitos generales
son los caballos
de batalla o las
herramientas del
sistema. Son los
nicos en el
sentido de que se
puede
direccionarlos
como una palabra
o como una parte
de un byte.

AX, BX, CX y DX

20

Registro ndice.
Los registros SI y
DI estn
disponibles para
direccionamientos
indexados y para
sumas y restas.
Que son la
operaciones de
punta.

SI y DI

21

El proceso de
ensambladoPrograma
El lenguaje
interacta
directamente con
los dispositivos de
hardware y
dispositivos
lgicos como las
memorias y el
CPU

Compilar

Lenguaje ensamblador

Ensamble

CPU
22

Programacin Hibrida
La programacin
hbrida proporciona un
mecanismo por medio
del cual podemos
aprovechar las ventajas
del lenguaje
ensamblador y los
lenguajes de alto nivel,
todo esto con el fin
escribir programas ms
rpidos y eficientes.

Alto
Nivel

Bajo
Nivel

23

Aplicaciones
El uso del lenguaje
ensamblador no es para
la gente comn y
corriente, sino para
profesionistas en el rea
de computacin que estn
obligados a conocer este
lenguaje, ya que
proporciona una serie de
caractersticas que no se
pueden encontrar en los
lenguajes de alto nivel.

24

Aplicaciones
Se puede acceder a
cualquier localidad de
la memoria RAM .
Se pueden programar
virus, debido a que se
tiene un acceso total a
casi todo el hardware
de la computadora va
interrupciones de
software

Se pueden programar drivers de cualquier


dispositivo.

Programacin de Microcontroloadores

Creacin de compiladores

Se puede acceder directamente a los


dispositivos de entrada y/o salida.

25

Ramas en las que se


aplica
Sistemas Embebidos: impresoras,

cmaras, autos, juguetes, etc.


Industria y Manufactura:
adquisicin datos y control, eg
robots.
Transporte y Aeronatica: barcos,
aviones, sondas espaciales, etc.
Graficacin, Multimedia, Cine y
Video Juegos
Procesamiento de Seales, Voz e
Imgenes
Armamento y Defensa
26

Conclusiones
El lenguaje
ensamblador a pesar
de ser mas rpido de
cualquier otro
lenguaje es tambin el
mas complejo por eso
es utilizado para
complementar los
limitantes de los
lenguajes de
programacin de alto
nivel.

27

Conclusiones
Pero existen
ramas donde es
imprescindible el
uso de lenguaje
ensamblador
como lo es la
electrnica donde
los recursos de
los aparatos son
limitados y es
necesario utilizar
lenguaje
ensamblador

28

Bibliografa
*Avila, M. e. (s.f.). Principia. Recuperado el 20 de septiembre
de 2009, de Lenguaje Ensamblador para Intel 808x/80x86:
http://homepage.mac.com/eravila/asmix86.html
*Monografias. Miriam Yazmn Mendoza Caamal
Haumi Sabeli Pech Peraza (s.f.). Recuperado el 20 de
septiembre de 2009, de Monografias Lenguaje ensamblador:
http://www.monografias.com/trabajos14/lenguaje-ensamblad
*Tanenbaum, A. Organizacion de computadoras un enfoque
estructurado. Pentice Hall.
*Wikipedia. (s.f.). Recuperado el 20 de septiembre de 2009, de
Wikipedia Lenguaje Ensamblador:
http://es.wikipedia.org/wiki/Lenguaje_ensamblador

29

You might also like