Lenguaje ensamblador

10
MICROPROCESAD ORES Ingeniería de Sistemas y Telemática Ing. Marco A. Porro Chulli. Integran tes: Tarrillo Torres Elser D. Olivera Burga José D.

Transcript of Lenguaje ensamblador

Page 1: Lenguaje ensamblador

MICROPROCESADORES

Ingeniería de Sistemas y Telemática

Ing. Marco A. Porro Chulli.

Integrantes: Tarrillo Torres Elser

D. Olivera Burga José

D.

Page 2: Lenguaje ensamblador

DEFINICION:

Es un lenguaje de programación de bajo nivel. Consiste en un conjunto de mnemó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. Un lenguaje ensamblador es por lo tanto específico de cierta arquitectura de computador física (o virtual). También es utilizado en el desarrollo de controladores de dispositivo (en inglés, device drivers) y en el desarrollo de sistemas operativos, debido a la necesidad del acceso directo a las instrucciones de la máquina.

Page 3: Lenguaje ensamblador

CARACTERISTICAS

El código escrito en lenguaje ensamblador posee una

cierta dificultad de ser entendido ya que su estructura se

acerca al lenguaje máquina, es decir, es un lenguaje de

bajo nivel.

El lenguaje ensamblador es difícilmente portable, es decir,

un código escrito para un microprocesador, puede

necesitar ser modificado, para poder ser usado en otra

máquina distinta. Al cambiar a una máquina con

arquitectura diferente, generalmente es necesario

reescribirlo completamente.

Page 4: Lenguaje ensamblador

CARACTERISTICAS

Los programas hechos por un programador experto en

lenguaje ensamblador son generalmente mucho más rápidos

y consumen menos recursos del sistema (memoria RAM y

ROM) que el programa equivalente compilado desde un

lenguaje de alto nivel.

Con el lenguaje ensamblador se tiene un control muy preciso

de las tareas realizadas por un microprocesador por lo que

se pueden crear segmentos de código difíciles y/o muy

ineficientes de programar en un lenguaje de alto nivel.

También se puede controlar el tiempo en que tarda una rutina

en ejecutarse, e impedir que se interrumpa durante su

ejecución.

Page 5: Lenguaje ensamblador

VENTAJAS

VELOCIDAD

El proceso de traducción que realizan los intérpretes, implica un

proceso de cómputo adicional al que el programador quiere realizar.

Por ello, nos encontraremos con que un intérprete es siempre más

lento que realizar la misma acción en Lenguaje Ensamblador,

TAMAÑO

Por las mismas razones que vimos en el aspecto de velocidad, los

compiladores e intérpretes generan más código máquina del necesario;

por ello, el programa ejecutable crece. Así, cuando es importante

reducir el tamaño del ejecutable, mejorando el uso de la memoria y

teniendo también beneficios en velocidad, puede convenir usar el

lenguaje Ensamblador.

Page 6: Lenguaje ensamblador

VENTAJAS

FLEXIBILIDAD

Las razones anteriores son cuestión de grado: podemos

hacer las cosas en otro lenguaje, pero queremos

hacerlas más eficientemente. Pero todos los lenguajes

de alto nivel tienen limitantes en el control; al hacer

abstracciones, limitan su propia capacidad. Es decir,

existen tareas que la máquina puede hacer, pero es un

lenguaje de alto nivel no permite.

Page 7: Lenguaje ensamblador

DESVENTAJAS

TIEMPO DE PROGRAMACIÓN

Al ser de bajo nivel, el Lenguaje Ensamblador requiere más

instrucciones para realizar el mismo proceso, en

comparación con un lenguaje de alto nivel

PROGRAMAS FUENTE GRANDES Por las mismas razones que aumenta el tiempo, crecen los

programas fuentes; simplemente, requerimos más instrucciones primitivas para describir procesos equivalentes.

Page 8: Lenguaje ensamblador

DESVENTAJAS

PELIGRO DE AFECTAR RECURSOS INESPERADAMENTE

Tenemos la ventaja de que todo lo que se puede hacer en la

máquina, se puede hacer con el Lenguaje Ensamblador

(flexibilidad). El problema es que todo error que podamos cometer,

o todo riesgo que podamos tener, podemos tenerlo también en este

Lenguaje.

FALTA DE PORTABILIDAD Como ya se mencionó, existe un lenguaje ensamblador para

cada máquina

Page 9: Lenguaje ensamblador

INSTRUCCIONES

Page 10: Lenguaje ensamblador