Inicio Anterior Siguiente

Ensamblador
Lenguaje de Bajo Nivel
Ensamblador

Se denomina lenguaje máquina a la serie de datos que la parte física de la computadora o hardware, es capaz de interpretar.

Una computadora digital o, mejor dicho, su parte física, sólo distingue datos de tipo binario, es decir, constituidos por dos únicos valores a los que se denomina valor 0 y valor 1 y que, físicamente, se materializan con tensiones comprendidas entre 0 y 4.0 voltios y entre 4 y 5 voltios, respectivamente. Para representar datos que contengan una información se utilizan una serie de unos y ceros cuyo conjunto indica dicha información.
La información que hace que el hardware de la computadora realice una determinada actividad de llama instrucción. Por consiguiente una instrucción es un conjunto de unos y ceros. Las instrucciones así formadas equivalen a acciones elementales de la máquina, por lo que al conjunto de dichas instrucciones que son interpretadas directamente por la máquina se denomina lenguaje máquina.
El lenguaje máquina fue el primero que empleo el hombre para la programación de las primeras computadoras. Una instrucción en lenguaje máquina puede representarse de la siguiente forma:

011011001010010011110110


Esta secuencia es fácilmente ejecutada por la computadora, pero es de difícil interpretación, siendo aun mas difícil la interpretación de un programa (conjunto de instrucciones) escrito de esta forma. Esta dificultad hace que los errores sean frecuentes y la corrección de los mismos costosa, cuando no imposible, al igual que la verificación y modificación de los programas.

La anterior secuencia de dígitos binarios (bits) puede indicar a la computadora que: <>

Si lo vemos escrito de esta forma, lo entenderemos fácilmente, ya que está en nuestro lenguaje natural, pero la máquina elemental será incapaz de entender nada. Vemos, pues, que la forma de indicar a la máquina lo que debe hacer es totalmente diferente de la indicar a un ser humano lo mismo, por lo que deben emplearse sistemas de traducción de una forma a otra.

En un principio el programador empleaba directamente el lenguaje máquina. En este caso el traductor era el programador; pero vimos también los problemas que esto causaba. Con la práctica en el manejo de la máquina se cayó en la cuenta de que se podría utilizar la propia máquina para ayudar en la traducción de estos programas. Es decir, que si a una máquina elemental se le dotaba de un programa, también elemental, que tradujera un número determinado de caracteres de caracteres alfabéticos en una secuencia de unos y ceros, se podría escribir un programa constituido por una secuencia de grupos de caracteres alfabéticos, en la que cada uno de los grupos indicaría una acción a realizar por el ordenador y, una vez escrito el programa, sería la propia máquina la que pasaría los grupos de caracteres a bits.
Las ventajas de esto son evidentes, ya que para el hombre resulta mas fácil manipular grupos de caracteres y la traducción se haría de manera automática. Por ejemplo, se podría escribir:

TRASLADAR 11010110, 00011101


Esto indicaría que el contenido de la posición 11010110 había que pasarlo a la posición 00011101 si se sabe que al grupo alfabético TRASLADAR le corresponde la secuencia de bits 11110101. La máquina traduciría la anterior instrucción como:

11110101 11010110 00011101


Al grupo alfabético se le denomina mnemotécnico, y existirá un mnemotécnico por cada instrucción. Se le da este nombre porque sirve para recordar con mayor facilidad el conjunto de instrucciones de una determinada máquina. De esta forma aparecieron los lenguajes ensambladores (Assembler, en inglés). Poco a poco, con el avance de la programación (Software), estas primeras y sencillas ayudas se fueron haciendo más complejas, permitiendo que, además de los mnemotécnicos correspondientes a la operación a realizar, se pudieran emplear otros para indicar, por ejemplo, los operandos. La anterior instrucción se podría escribir de la siguiente forma: TRASLADAR POS-A POS-B Que nos resulta de más fácil comprensión. También se introdujo la posibilidad de indicar a la computadora la dirección de un salto en la secuencia de ejecución de un programa mediante la utilización de etiquetas.

Ventajas De Los Lenguajes Ensambladores.

El corazón de la computadora es el microprocesador, éste maneja las necesidades aritméticas, de lógica y de control de la computadora.
El microprocesador tiene su origen en la década de los sesenta, cuando se diseño el circuito integrado (IC por sus siglas en ingles) al combinar varios componentes electrónicos en un solo componente sobre un "chip" de silicio. Los fabricantes colocaron este diminuto chip en un dispositivo parecido a un ciempiés y lo conectaron a un sistema en funcionamiento. A principios de los años setenta Intel introdujo el chip 8008 el cual, instalado en una computadora terminal, acompaño a la primera generación de microprocesadores. La variedad de microcomputadoras también ocasiono un renovado interés en el lenguaje ensamblado, cuyo uso conlleva a diferentes ventajas:



Un programa escrito en el lenguaje ensamblador requiere considerablemente menos memoria y tiempo de ejecución que un programa escrito en los conocidos lenguajes de alto nivel, como Pascal y C.

El lenguaje ensamblador da a un programador la capacidad de realizar tareas muy técnicas que serian difíciles, si no es que imposibles de realizar en un lenguaje de alto nivel.

El conocimiento del lenguaje ensamblador permite una comprensión de la arquitectura de la maquina que ningún lenguaje de alto nivel puede ofrecer.

Aunque la mayoría de los especialistas en Software desarrolla aplicaciones en lenguajes de alto nivel, que son más fáciles de escribir y de dar mantenimiento, una practica común es recodificar en lenguaje ensamblador aquellas rutinas que han causado cuellos de botella en el procesamiento.

Los programas residentes y rutinas de servicio de interrupción casi siempre son desarrollados en el lenguaje ensamblador.


Los lenguajes de alto nivel fueron diseñados para eliminar las particularidades de una computadora especifica, mientras que un lenguaje ensamblador esta diseñado para una computadora especifica, o, de manera más correcta, para una familia especifica de microprocesadores.

A continuación se listan los requisitos para aprender el lenguaje ensamblador de la PC:
  • Tener acceso a una computadora personal de IBM (cualquier modelo) o una compatible.
  • Una copia del sistema operativo MS-DOS o PC-DOS y estar familiarizados con su uso.
  • Una copia de un programa ensamblador. Las versiones de Microsoft son conocidas como MASM y QuickAssembler: TASM es de Borland y OPTASM es de System.


Para el aprendizaje de lenguaje ensamblador no es necesario lo siguiente:
  • Conocimiento previo de un lenguaje de programación, aunque tenerlo puede ayudarle a comprender algunos conceptos de programación más rápido.
  • Conocimiento previo de electrónica o circuiteria.
.











Actualizado: 5 de junio 2004....

[Arriba]



©2004 Alfonso Araujo Cárdenas - Derechos reservados