El lenguaje ensamblador permite programar a un nivel cercano a la máquina y tener mayor control sobre los componentes de la computadora. Se utiliza cuando se requiere velocidad o acceso directo al hardware, mientras que lenguajes de alto nivel son mejores para proyectos grandes donde el tiempo de desarrollo es importante. El ensamblador también se usa comúnmente en sistemas embebidos, industria, transporte y aplicaciones que requieren procesamiento de señales o gráficos avanzados.
2. Contenido
2
¿Qué es ensamblador y para que sirve?
Motivos para utilizarlo
Motivos para No utilizarlo
¿Cuándo utilizo ensamblador y cuando no?
Importancia
Ventajas
Desventajas
Uso
Aplicación
3. ¿Qué es ensamblador y para qué
3
sirve?
Cuando se empezaron a utilizar símbolos
nemotécnicos, se escribieron programas para
traducir automáticamente los programas
escritos en lenguaje ensamblador a lenguaje
máquina. A estos programas traductores se
les llamo ensambladores.
Lenguaje ensamblador Ensamblador
• Conjunto de • Programa que traduce
nemotécnicos y a las un programa objeto a
reglas para su manejo. partir de un programa
escrito en lenguaje
ensamblador
4. Motivos para utilizarlo
4
• Como el programador directamente selecciona las instrucciones
Rapidez: que se ejecutan en el programa, el programa final queda mas
optimizado que un programa generado por un compilador.
Mayor control de la • Un programa puede accesar directamente cualquier componente y
computadora: periférico de la computadora.
Independencia del • No depende de librerías o del lenguaje mismo para realizar una
tarea específica. Lenguajes como el Basic limitan al programador
lenguaje: a lo que el lenguaje puede hacer.
La mayoría de las
• Los recursos necesarios para ensamblar un programa son mucho
computadoras pueden menores que los compiladores o interpretes.
ensamblar:
El ensamblador generalmente es más rápido ensamblando un programa que
un compilador generando un archivo ejecutable.
5. Motivos para No Utilizarlo
5
Dependencia del • El código se hace en extremo dependiente del microprocesador, de
los dispositivos, de los controladores, etc. Este punto será
hardware: analizado con más detenimiento en dependencias de hardware.
Mayor tiempo de • El número de líneas de un programa hecho en ensamblador es
codificación: mayor a uno hecho en un lenguaje de alto nivel
Comprensión mas
• Comprender ensamblador requiere conocimientos más exactos
profunda de la sobre el funcionamiento interno de la computadora.
computadora:
Errores más frecuentes • El evitar un error o encontrar alguno que ya exista es difícil.
en el programa:
6. ¿Cuándo utilizo ensamblador y
6
cuándo no?
Depende del programa a desarrollar.
Utilizarlo No Utilizarlo
• Si el programa debe • Si se requiere un sistema
controlar en gran medida grande y no se dispone de
los componentes internos mucho tiempo para
de la computadora o debe entregarlo, entonces es
ser lo suficientemente mejor juntar un lenguaje de
veloz, entonces es alto nivel con ensamblador
recomendable utilizarlo.
7. Importancia del lenguaje
7
ensamblador
Se trabaja directamente con el
microprocesador
Se puede realizar cualquier tipo de programas
que en los lenguajes de alto nivel no lo
pueden realizar.
Los programas en ensamblador ocupan
menos espacio en memoria
8. Ventajas del Lenguaje
8
Ensamblador
Velocidad
Este lenguaje es el mas cercano a la máquina la
computadora lo procesa mas rápido.
Eficiencia de tamaño.
No ocupa mucho espacio en memoria.
Flexibilidad
Todo lo que puede hacerse con una
máquina, puede hacerse en el lenguaje
ensamblador de esta máquina
9. Desventajas del Lenguaje
9
Ensamblador
Se requiere mucho tiempo de
programación.
Programas fuentes grandes
Dificulta el mantenimiento de
los programas
Peligro de afectar recursos
inesperadamente
Falta de portabilidad.
10. Uso del Lenguaje Ensamblador
10
Se puede :
acceder a cualquier localidad de la memoria RAM sin
ninguna restricción.
programar virus.
programar Drivers de cualquier dispositivo.
acceder directamente a los registros internos del
CPU.
acceder directamente a los dispositivos de entrada
y/o salida.
11. Aplicaciones
11
Sistemas embebidos:
Industria y manufactura:
Transporte y aeronáutica:
Graficación , multimedia, cine y videojuegos.
Procesamiento de señales, voz e imágenes.
Armamento y defensa.