jueves, 11 de agosto de 2016

Ensamblador (Assembler)

Ensamblador.
      El término ensamblador cuya traducción al inglés sería assembler  hace referencia a un tipo de programa informático que se encarga de traducir un fichero fuente escrito en un lenguaje ensamblador, a un fichero objeto que contiene código máquina, el cual es ejecutable directamente por el microprocesador.
      ¿Cómo funciona?
      Básicamente el programa lee el fichero escrito en lenguaje ensamblador o assembler y sustituye cada uno de los códigos nemotécnicos que aparecen por su código de operación correspondiente en el sistema binario para la plataforma que se ha elegido como destino en las opciones específicas del ensamblador, los cuales pueden ser de bajo o alto nivel.


Lenguaje de bajo nivel.
      Es un lenguaje totalmente dependiente de la máquina. El programa que se realiza con este tipo de lenguaje no se pueden trasladar o utilizar en otras máquinas y como están diseñados acorde con el hardware, se utilizan y aprovechan al máximo todas las características y rendimientos que éste ofrece.
      Dentro de los lenguajes de bajo nivel están:
  • El lenguaje máquina, es el que da órdenes a la máquina, que son las operaciones fundamentales para su funcionamiento. El ordenador sólo entiende un lenguaje conocido como código binario o código máquina, consistente en ceros y unos, que son las ordenes, y que sean fáciles de entender por el hardware de la máquina. Este lenguaje es mucho más rápido que los lenguajes de alto nivel. La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente enormes donde encontrar un fallo es casi imposible.
  • El lenguaje ensambladores un derivado del lenguaje máquina y está formado por abreviaturas de letras y números. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina. Como ventaja, es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, añadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener.
      En este tipo de lenguajes de bajo nivel se trabaja a nivel de instrucciones, es decir, su programación es al más fino detalle, además, está completamente orientado a la máquina.
  • Adaptación - Máxima entre programación y aprovechamiento del recurso de la máquina.
  • Velocidad - Máxima al contar con un acceso directo a los recursos, sin capas intermedias.
  • Portabilidad - Mínima por estar restringido a las especificaciones del fabricante.
  • Abstracción - Mínima por depender completamente de la técnica del hardware.
  • Uso - Requiere de la máxima atención y de una organización estructurada en base a los planos del hardware y del objetivo del software.
Ventajas e Inconvenientes.
      Ventajas:
  •       Los lenguajes ensambladores presentan la ventaja frente a los lenguajes máquina de su mayor facilidad de codificación y, en general, su velocidad de cálculo.
      Inconvenientes:
  • Dependencia total de la máquina lo que impide la transportabilidad de los programas.
  • La formación de los programadores es más compleja que la correspondiente a los programadores de alto nivel, ya que no sólo las técnicas de programación, sino también el conocimiento del interior de la máquina.
Estructura de un programa en assembler.
      A continuación se presenta la estructura básica de un programa en assembler con extensión .asm. 

No hay comentarios:

Publicar un comentario