SlideShare una empresa de Scribd logo
UNIVERSIDAD TÉCNICA DEL
NORTE
INGENIERIA EN ELECTRONICA Y REDES DE
COMUNICACION
1
‘’LENGUAJE ENSAMBLADOR’’
SISTEMAS OPERTATIVOS
DIAZ JOHN
Introducción
• El ordenador solo
entiende el lenguaje de
código binario o código
maquina ,solo utiliza 0 y
1 para de codificar
cualquier acción .
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
números llamadas
mnemotécnicos .
4
¿Qué es un lenguaje ensamblador?
5
•Es un lenguaje en el que cada enunciado produce
exactamente una instrucción maquina.
•Los lenguajes ensambladores tienen acceso a todas
las características e instrucciones disponibles en la
maquina.
•En resumen todo lo que puede hacerse en lenguaje
maquina puede hacerse en lenguaje ensamblador.
Importancia
• El lenguaje
ensamblador es
importante por que el
es considerado de
primera generación a
partir de el se derivaron
todos los demás
lenguajes hasta llegar a
los de alto nivel.
6
Características
7
•Ensamblador es directamente traducible al Lenguaje
de Máquina, y viceversa.
•La computadora no entiende directamente al Lenguaje
Ensamblador; es necesario traducirle a Lenguaje de
Máquina.
• Se utilizan traductores que convierten el código fuente
(en Lenguaje Ensamblador) a código objeto.
•El usar los traductores de código son con el fin de
facilitar la programación y tener el control del harware.
Ventajas y desventajas del Lenguaje
Ensamblador vs lenguaje de alto nivel
8
Lenguaje Ensamblador.
1. Velocidad
2. Eficiencia de tamaño.
3. Flexibilidad
Lenguaje de alto nivel.
1. Tiempo de programación
2. Programas fuente grandes
3. Peligro de afectar recursos
inesperadamente.
4. Falta de portabilidad
Velocidad
9
•Implica un proceso de cómputo
adicional al que el programador
quiere realizar.
•Un intérprete es siempre más
lento que realizar la misma acción
en Lenguaje Ensamblador.
•Los compiladores son mucho más
rápidos que los intérpretes, pues
hacen la traducción una vez y
dejan el código objeto.
•Mayor parte de las veces, el
código generado por un compilador
es menos eficiente que el código
equivalente que un programador
escribiría.
Tamaño
• Existen programas
donde el uso de las
memoria es critico para
esos casos es eficiente el
lenguaje ensamblador
por la mínima cantidad
de recursos de los que
dispone
10
Flexibilidad
11
Las razones anteriores son cuestión 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.
Tiempo de programación
12
Requiere más
instrucciones para realizar
el mismo proceso.
Por otro lado, requiere de
más cuidado por parte del
programador
Programa fuentes grandes
• Crecen los programas
fuentes; simplemente,
requerimos más
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 también
en este Lenguaje. Dicho
de otra forma, tener
mucho poder es útil pero
también es peligroso.
14
Falta de portabilidad
• Como ya se mencionó,
existe un lenguaje
ensamblador para cada
máquina; por ello,
evidentemente no es una
selección apropiada de
lenguaje cuando deseamos
codificar en una máquina
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
ejecución, manejar
direccionamiento de
memoria y
proporcionar capacidad
aritmética.
17
Registros de segmento
• 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.
• Registro CS
• Registro DS
• Registro SS
• Registro ES
• Registro FS y GS
18
Registro Apuntador
• Los registros
apuntadores están
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 propósitos 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
están disponibles para
direccionamientos
indexados y para sumas
y restas. Que son la
operaciones de punta.
• SI y DI
21
El proceso de ensamblado
• El lenguaje interactúa
directamente con los
dispositivos de
hardware y dispositivos
lógicos como las
memorias y el CPU
22
Programa
Compilar
Lenguaje ensamblador
Ensamble
CPU
Programación Hibrida
• La programación híbrida
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 más
rápidos y eficientes.
23
Bajo Nivel
Alto
Nivel
Aplicaciones
• El uso del lenguaje ensamblador
no es para la gente común y
corriente, sino para profesionistas
en el área de computación que
están obligados a conocer este
lenguaje, ya que proporciona una
serie de características 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 vía
interrupciones de
software
• Se pueden programar
drivers de cualquier
dispositivo.
• Programación de
Microcontroloadores
• Creación de compiladores
• Se puede acceder
directamente a los
dispositivos de entrada
y/o salida.
25
Ramas en las que se aplica
• Sistemas Embebidos: impresoras,
cámaras, autos, juguetes, etc.
• Industria y Manufactura: adquisición
datos y control, eg robots.
• Transporte y Aeronaútica: barcos,
aviones, sondas espaciales, etc.
• Graficación, Multimedia, Cine y
Video Juegos
• Procesamiento de Señales, Voz e
Imágenes
• Armamento y Defensa
26
Conclusiones
• El lenguaje ensamblador a
pesar de ser mas rápido de
cualquier otro lenguaje es
también el mas complejo por
eso es utilizado para
complementar los limitantes
de los lenguajes de
programación de alto nivel.
27
Conclusiones
• Pero existen ramas
donde es imprescindible
el uso de lenguaje
ensamblador como lo
es la electrónica donde
los recursos de los
aparatos son limitados y
es necesario utilizar
lenguaje ensamblador
28
Bibliografía
*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 Yazmín 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

Más contenido relacionado

La actualidad más candente

Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
YESENIA CETINA
 
Arquitectura del procesador
Arquitectura del procesadorArquitectura del procesador
Arquitectura del procesador
YESENIA CETINA
 
Presentación Sistema OPerativo Linux
Presentación Sistema OPerativo  Linux Presentación Sistema OPerativo  Linux
Presentación Sistema OPerativo Linux
Dhariana Leguisamo
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
Dr. Rigoberto Carbajal Valdez
 
Programación del lado del cliente
Programación del lado del clienteProgramación del lado del cliente
Programación del lado del cliente
Gabriel Mondragón
 
Planificacion de proyecto de software
Planificacion de proyecto de softwarePlanificacion de proyecto de software
Planificacion de proyecto de software
Georgy Jose Sanchez
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
Angel Miguel Coria Lopez
 
Presentacion Programacion
Presentacion ProgramacionPresentacion Programacion
Presentacion Programacion
guestd5974a6
 
Presentación windows 7
Presentación windows 7Presentación windows 7
Presentación windows 7
Alfonsoceuti11
 
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADORUNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
Instituto Tecnológico de Tuxtla Gutiérrez
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesador
Fernando Camacho
 
PYTHON.pptx
PYTHON.pptxPYTHON.pptx
PYTHON.pptx
AndyMartinez221710
 
Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
Heder Ithamar Romero
 
Lenguaje De Programacion
Lenguaje De ProgramacionLenguaje De Programacion
Lenguaje De Programacion
milko09
 
Lenguajes de alto nivel
Lenguajes de alto nivelLenguajes de alto nivel
Lenguajes de alto nivel
Grace Laguna
 
Exposición de Lenguajes de Programación
Exposición de Lenguajes de ProgramaciónExposición de Lenguajes de Programación
Exposición de Lenguajes de Programación
Luis Eduardo Pelaez Valencia
 
Memoria RAM.pdf
Memoria RAM.pdfMemoria RAM.pdf
Memoria RAM.pdf
NANCYFLORBENITESBARD1
 
Sistemas Operativos Mono Proceso
Sistemas Operativos Mono ProcesoSistemas Operativos Mono Proceso
Sistemas Operativos Mono Proceso
Alfredo Humberto Escalante Godinez
 
Analizador lexico
Analizador lexicoAnalizador lexico
Evolución de la Programación
Evolución de la ProgramaciónEvolución de la Programación
Evolución de la Programación
Alessandro Viera
 

La actualidad más candente (20)

Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
Arquitectura del procesador
Arquitectura del procesadorArquitectura del procesador
Arquitectura del procesador
 
Presentación Sistema OPerativo Linux
Presentación Sistema OPerativo  Linux Presentación Sistema OPerativo  Linux
Presentación Sistema OPerativo Linux
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Programación del lado del cliente
Programación del lado del clienteProgramación del lado del cliente
Programación del lado del cliente
 
Planificacion de proyecto de software
Planificacion de proyecto de softwarePlanificacion de proyecto de software
Planificacion de proyecto de software
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
Presentacion Programacion
Presentacion ProgramacionPresentacion Programacion
Presentacion Programacion
 
Presentación windows 7
Presentación windows 7Presentación windows 7
Presentación windows 7
 
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADORUNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesador
 
PYTHON.pptx
PYTHON.pptxPYTHON.pptx
PYTHON.pptx
 
Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
 
Lenguaje De Programacion
Lenguaje De ProgramacionLenguaje De Programacion
Lenguaje De Programacion
 
Lenguajes de alto nivel
Lenguajes de alto nivelLenguajes de alto nivel
Lenguajes de alto nivel
 
Exposición de Lenguajes de Programación
Exposición de Lenguajes de ProgramaciónExposición de Lenguajes de Programación
Exposición de Lenguajes de Programación
 
Memoria RAM.pdf
Memoria RAM.pdfMemoria RAM.pdf
Memoria RAM.pdf
 
Sistemas Operativos Mono Proceso
Sistemas Operativos Mono ProcesoSistemas Operativos Mono Proceso
Sistemas Operativos Mono Proceso
 
Analizador lexico
Analizador lexicoAnalizador lexico
Analizador lexico
 
Evolución de la Programación
Evolución de la ProgramaciónEvolución de la Programación
Evolución de la Programación
 

Destacado

Ensamblador expo
Ensamblador expoEnsamblador expo
Ensamblador expo
Ari Martinez
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
ARAELGM
 
Lengujes de 2 generacion
Lengujes de 2 generacionLengujes de 2 generacion
Lengujes de 2 generacion
Miguel Angel
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basico
Gustavo Davila
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
Jesus Cuellar Sanchez
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
iagardea
 
Conferencia1
Conferencia1Conferencia1
Conferencia1
alexcomohacer
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
thalia margarita serrano diaz
 
Ots 2014 2 a5
Ots 2014 2 a5Ots 2014 2 a5
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
Luis Fernando Aguas Bucheli
 
Tipos De Lenguajes
Tipos De LenguajesTipos De Lenguajes
Tipos De Lenguajes
orfeo_d_lirabel
 
Relatório de Gestão 2008 - Sala Verde Judith Cortesão FURG
Relatório de Gestão 2008 - Sala Verde Judith Cortesão FURGRelatório de Gestão 2008 - Sala Verde Judith Cortesão FURG
Relatório de Gestão 2008 - Sala Verde Judith Cortesão FURG
Cibele Vasconcelos Dziekaniak
 
Unidad 1 interfaz
Unidad 1 interfazUnidad 1 interfaz
Unidad 1 interfaz
Fuci-man Navarro
 
Lenguaje de ensamblador daniel romo 9 a -san felipe
Lenguaje de ensamblador daniel romo 9 a -san felipeLenguaje de ensamblador daniel romo 9 a -san felipe
Lenguaje de ensamblador daniel romo 9 a -san felipe
DanielRomoDR
 
Nivel de lenguaje ensamblador
Nivel de lenguaje ensamblador Nivel de lenguaje ensamblador
Nivel de lenguaje ensamblador
evelynm10
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
gbermeo
 
Mipag web
Mipag webMipag web
Lenguajeensamblador
LenguajeensambladorLenguajeensamblador
Lenguajeensamblador
Jesus Martinez
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
JuanKory Rey Hdez
 
programa 1 en lenguaje ensamblador
programa 1 en lenguaje ensambladorprograma 1 en lenguaje ensamblador
programa 1 en lenguaje ensamblador
alejandro salazar guerrero
 

Destacado (20)

Ensamblador expo
Ensamblador expoEnsamblador expo
Ensamblador expo
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Lengujes de 2 generacion
Lengujes de 2 generacionLengujes de 2 generacion
Lengujes de 2 generacion
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basico
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
Conferencia1
Conferencia1Conferencia1
Conferencia1
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Ots 2014 2 a5
Ots 2014 2 a5Ots 2014 2 a5
Ots 2014 2 a5
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
Tipos De Lenguajes
Tipos De LenguajesTipos De Lenguajes
Tipos De Lenguajes
 
Relatório de Gestão 2008 - Sala Verde Judith Cortesão FURG
Relatório de Gestão 2008 - Sala Verde Judith Cortesão FURGRelatório de Gestão 2008 - Sala Verde Judith Cortesão FURG
Relatório de Gestão 2008 - Sala Verde Judith Cortesão FURG
 
Unidad 1 interfaz
Unidad 1 interfazUnidad 1 interfaz
Unidad 1 interfaz
 
Lenguaje de ensamblador daniel romo 9 a -san felipe
Lenguaje de ensamblador daniel romo 9 a -san felipeLenguaje de ensamblador daniel romo 9 a -san felipe
Lenguaje de ensamblador daniel romo 9 a -san felipe
 
Nivel de lenguaje ensamblador
Nivel de lenguaje ensamblador Nivel de lenguaje ensamblador
Nivel de lenguaje ensamblador
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
Mipag web
Mipag webMipag web
Mipag web
 
Lenguajeensamblador
LenguajeensambladorLenguajeensamblador
Lenguajeensamblador
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
programa 1 en lenguaje ensamblador
programa 1 en lenguaje ensambladorprograma 1 en lenguaje ensamblador
programa 1 en lenguaje ensamblador
 

Similar a Lenguaje de ensamblador

LENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADORLENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADOR
TABITARIOSCHAVEZ
 
Estructura de lenguaje ensamblador
Estructura de lenguaje ensambladorEstructura de lenguaje ensamblador
Estructura de lenguaje ensamblador
Eustakiu Padilla
 
lenguaje ensamblador.ppt
lenguaje ensamblador.pptlenguaje ensamblador.ppt
lenguaje ensamblador.ppt
CesarSaucedo17
 
Presentación lenguajedeprogramacion
Presentación lenguajedeprogramacionPresentación lenguajedeprogramacion
Presentación lenguajedeprogramacion
michelledelgado97
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
Marco Chunab
 
Diapositivas lenguaje ensamblador
Diapositivas lenguaje ensambladorDiapositivas lenguaje ensamblador
Diapositivas lenguaje ensamblador
DANIELCUEVASUAREZ
 
02- Clase 1 - UD2 - Lenguajes.pdf
02- Clase 1 - UD2 -  Lenguajes.pdf02- Clase 1 - UD2 -  Lenguajes.pdf
02- Clase 1 - UD2 - Lenguajes.pdf
NancyHerrera88
 
Lenjuage_ensamblador_UTEQ
Lenjuage_ensamblador_UTEQLenjuage_ensamblador_UTEQ
Lenjuage_ensamblador_UTEQ
Gabriel Nuñez
 
Introduccion ensamblador
Introduccion ensambladorIntroduccion ensamblador
Introduccion ensamblador
Brivé Soluciones
 
Clases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programaciónClases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programación
En La Vereda de Mi Casaa!
 
Assembler apesteguia (1)
Assembler apesteguia (1)Assembler apesteguia (1)
Assembler apesteguia (1)
tonytenorio2
 
Compilador e interpretador
Compilador e interpretadorCompilador e interpretador
Compilador e interpretador
Francisco Leal
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
justo morales
 
02_Lenguajes_de_programacion_y_compiladores.pdf
02_Lenguajes_de_programacion_y_compiladores.pdf02_Lenguajes_de_programacion_y_compiladores.pdf
02_Lenguajes_de_programacion_y_compiladores.pdf
JORGEWILLIAMDEJESUSD
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
pamelafernandezcalderon
 
lenguajes de programacion
lenguajes de programacion lenguajes de programacion
lenguajes de programacion
MJhoana Quispe
 
Assembler
AssemblerAssembler
Assembler
wai258
 
C y siistemas operativos
C y siistemas operativosC y siistemas operativos
C y siistemas operativos
albertoperozo123
 
Presentacion de lenguajes de programacion grado 9.2
Presentacion de lenguajes de programacion grado 9.2Presentacion de lenguajes de programacion grado 9.2
Presentacion de lenguajes de programacion grado 9.2
danny7206
 
Lenguaje C _ C++
Lenguaje C _ C++Lenguaje C _ C++

Similar a Lenguaje de ensamblador (20)

LENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADORLENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADOR
 
Estructura de lenguaje ensamblador
Estructura de lenguaje ensambladorEstructura de lenguaje ensamblador
Estructura de lenguaje ensamblador
 
lenguaje ensamblador.ppt
lenguaje ensamblador.pptlenguaje ensamblador.ppt
lenguaje ensamblador.ppt
 
Presentación lenguajedeprogramacion
Presentación lenguajedeprogramacionPresentación lenguajedeprogramacion
Presentación lenguajedeprogramacion
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
 
Diapositivas lenguaje ensamblador
Diapositivas lenguaje ensambladorDiapositivas lenguaje ensamblador
Diapositivas lenguaje ensamblador
 
02- Clase 1 - UD2 - Lenguajes.pdf
02- Clase 1 - UD2 -  Lenguajes.pdf02- Clase 1 - UD2 -  Lenguajes.pdf
02- Clase 1 - UD2 - Lenguajes.pdf
 
Lenjuage_ensamblador_UTEQ
Lenjuage_ensamblador_UTEQLenjuage_ensamblador_UTEQ
Lenjuage_ensamblador_UTEQ
 
Introduccion ensamblador
Introduccion ensambladorIntroduccion ensamblador
Introduccion ensamblador
 
Clases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programaciónClases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programación
 
Assembler apesteguia (1)
Assembler apesteguia (1)Assembler apesteguia (1)
Assembler apesteguia (1)
 
Compilador e interpretador
Compilador e interpretadorCompilador e interpretador
Compilador e interpretador
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
 
02_Lenguajes_de_programacion_y_compiladores.pdf
02_Lenguajes_de_programacion_y_compiladores.pdf02_Lenguajes_de_programacion_y_compiladores.pdf
02_Lenguajes_de_programacion_y_compiladores.pdf
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
lenguajes de programacion
lenguajes de programacion lenguajes de programacion
lenguajes de programacion
 
Assembler
AssemblerAssembler
Assembler
 
C y siistemas operativos
C y siistemas operativosC y siistemas operativos
C y siistemas operativos
 
Presentacion de lenguajes de programacion grado 9.2
Presentacion de lenguajes de programacion grado 9.2Presentacion de lenguajes de programacion grado 9.2
Presentacion de lenguajes de programacion grado 9.2
 
Lenguaje C _ C++
Lenguaje C _ C++Lenguaje C _ C++
Lenguaje C _ C++
 

Lenguaje de ensamblador

  • 1. UNIVERSIDAD TÉCNICA DEL NORTE INGENIERIA EN ELECTRONICA Y REDES DE COMUNICACION 1 ‘’LENGUAJE ENSAMBLADOR’’ SISTEMAS OPERTATIVOS DIAZ JOHN
  • 2. Introducción • El ordenador solo entiende el lenguaje de código binario o código maquina ,solo utiliza 0 y 1 para de codificar cualquier acción . 2
  • 3. Lenguaje de bajo nivel • Son lenguajes totalmente dependientes de la maquina . • Dentro de este grupo se encuentra el lenguaje ensamblador. 3
  • 4. Lenguaje Ensamblador • Derivado del lenguaje maquina , formado por abreviaturas de letras y números llamadas mnemotécnicos . 4
  • 5. ¿Qué es un lenguaje ensamblador? 5 •Es un lenguaje en el que cada enunciado produce exactamente una instrucción maquina. •Los lenguajes ensambladores tienen acceso a todas las características e instrucciones disponibles en la maquina. •En resumen todo lo que puede hacerse en lenguaje maquina puede hacerse en lenguaje ensamblador.
  • 6. Importancia • El lenguaje ensamblador es importante por que el es considerado de primera generación a partir de el se derivaron todos los demás lenguajes hasta llegar a los de alto nivel. 6
  • 7. Características 7 •Ensamblador es directamente traducible al Lenguaje de Máquina, y viceversa. •La computadora no entiende directamente al Lenguaje Ensamblador; es necesario traducirle a Lenguaje de Máquina. • Se utilizan traductores que convierten el código fuente (en Lenguaje Ensamblador) a código objeto. •El usar los traductores de código son con el fin de facilitar la programación y tener el control del harware.
  • 8. Ventajas y desventajas del Lenguaje Ensamblador vs lenguaje de alto nivel 8 Lenguaje Ensamblador. 1. Velocidad 2. Eficiencia de tamaño. 3. Flexibilidad Lenguaje de alto nivel. 1. Tiempo de programación 2. Programas fuente grandes 3. Peligro de afectar recursos inesperadamente. 4. Falta de portabilidad
  • 9. Velocidad 9 •Implica un proceso de cómputo adicional al que el programador quiere realizar. •Un intérprete es siempre más lento que realizar la misma acción en Lenguaje Ensamblador. •Los compiladores son mucho más rápidos que los intérpretes, pues hacen la traducción una vez y dejan el código objeto. •Mayor parte de las veces, el código generado por un compilador es menos eficiente que el código equivalente que un programador escribiría.
  • 10. Tamaño • Existen programas donde el uso de las memoria es critico para esos casos es eficiente el lenguaje ensamblador por la mínima cantidad de recursos de los que dispone 10
  • 11. Flexibilidad 11 Las razones anteriores son cuestión 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.
  • 12. Tiempo de programación 12 Requiere más instrucciones para realizar el mismo proceso. Por otro lado, requiere de más cuidado por parte del programador
  • 13. Programa fuentes grandes • Crecen los programas fuentes; simplemente, requerimos más 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
  • 14. Peligro de afectar recursos • El problema es que todo error que podamos cometer, o todo riesgo que podamos tener, podemos tenerlo también en este Lenguaje. Dicho de otra forma, tener mucho poder es útil pero también es peligroso. 14
  • 15. Falta de portabilidad • Como ya se mencionó, existe un lenguaje ensamblador para cada máquina; por ello, evidentemente no es una selección apropiada de lenguaje cuando deseamos codificar en una máquina y luego llevar los programas a otros SO. 15
  • 16. 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
  • 17. Registros • Los registros del procesador se emplean para controlar instrucciones en ejecución, manejar direccionamiento de memoria y proporcionar capacidad aritmética. 17
  • 18. Registros de segmento • 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. • Registro CS • Registro DS • Registro SS • Registro ES • Registro FS y GS 18
  • 19. Registro Apuntador • Los registros apuntadores están 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
  • 20. Registros de propósitos 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
  • 21. Registro índice. • Los registros SI y DI están disponibles para direccionamientos indexados y para sumas y restas. Que son la operaciones de punta. • SI y DI 21
  • 22. El proceso de ensamblado • El lenguaje interactúa directamente con los dispositivos de hardware y dispositivos lógicos como las memorias y el CPU 22 Programa Compilar Lenguaje ensamblador Ensamble CPU
  • 23. Programación Hibrida • La programación híbrida 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 más rápidos y eficientes. 23 Bajo Nivel Alto Nivel
  • 24. Aplicaciones • El uso del lenguaje ensamblador no es para la gente común y corriente, sino para profesionistas en el área de computación que están obligados a conocer este lenguaje, ya que proporciona una serie de características que no se pueden encontrar en los lenguajes de alto nivel. 24
  • 25. 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 vía interrupciones de software • Se pueden programar drivers de cualquier dispositivo. • Programación de Microcontroloadores • Creación de compiladores • Se puede acceder directamente a los dispositivos de entrada y/o salida. 25
  • 26. Ramas en las que se aplica • Sistemas Embebidos: impresoras, cámaras, autos, juguetes, etc. • Industria y Manufactura: adquisición datos y control, eg robots. • Transporte y Aeronaútica: barcos, aviones, sondas espaciales, etc. • Graficación, Multimedia, Cine y Video Juegos • Procesamiento de Señales, Voz e Imágenes • Armamento y Defensa 26
  • 27. Conclusiones • El lenguaje ensamblador a pesar de ser mas rápido de cualquier otro lenguaje es también el mas complejo por eso es utilizado para complementar los limitantes de los lenguajes de programación de alto nivel. 27
  • 28. Conclusiones • Pero existen ramas donde es imprescindible el uso de lenguaje ensamblador como lo es la electrónica donde los recursos de los aparatos son limitados y es necesario utilizar lenguaje ensamblador 28
  • 29. Bibliografía *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 Yazmín 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