Sistemas

Definición de Ensamblador


Se define como un lenguaje de programación que se usa para dar directamente órdenes al ordenador. A diferencia de otros lenguajes, que usan el sistema operativo como intermediario para ejecutar las tareas (le dicen al sistema operativo que haga una cosa y este es quien se encarga de hacerselo saber al ordenador), el lenguaje de ensamblador (en inglés assembly) no usa intermediarios, sino que directamente le dá las órdenes a la máquina.

Antes de proseguir conviene diferenciar para no confundirnos por un lado el término lenguaje ensamblador, y por otro el término ensamblador. El primero sería el lenguaje de programación como tal, mientras el segundo sería el programa que convierte un fichero escrito en lenguaje ensamblador en código máquina o binario para que le ordenador pueda leerlo. Aunque en el artículo hablaremos de ambos y en general se usa ensamblador para ambos indistintamente, técnicamente son cosas distintas,

Evidentemente este lenguaje tiene varias ventajas e inconvenientes. Entre las ventajas tenemos que por supuesto, es más rápido y eficiente, más estable y requiere menos recursos.

Las desventajas son sin embargo mucho mayores: para empezar está limitado a las órdenes que el ordenador traiga memorizadas en su placa base, nada más. Y requiere unos conocimientos técnicos muy avanzados, toda vez que cada CPU incluye órdenes distintas e incluso formas distintas de darle esas órdenes, variando según el modelo, el fabricante… etc… Es por ello, entre otras cosas, que no se ha impuesto en el mercado como lenguaje de programación para aplicaciones o juegos.

Como se vé es un lenguaje de programación orientado a profesionales que trabajan con hardware, muy útil sobre todo para detectar fallos e incompatibilidades entre piezas del PC o chequear el estado de estas.

Como ya dijimos el lenguaje ensamblador debe ser traducido a código máquina para funcionar, y por tanto requiere un ensamblador que lo traduzca a código binario (a ceros y unos). Pero es el lenguaje más cercano al propio código que usan los ordenadores. Es por ello que se dice que es un lenguaje de bajo nivel, debido a que está sólo un escalón por encima del código máquina, y solo permite ejecutar instrucciones sencillas. Los lenguajes de alto nivel son más elaborados y permiten realizar tareas multiples y complejas con una sola orden, mientras que en el que nos ocupa una orden equivale a una instruccion directa.

Existen como hemos visto muchas variantes del lenguaje ensamblador, de hecho una por cada tipo de arquitectura del CPU. Las primeras CPUs apenas tenían instrucciones y por tanto eran mucho más sencillas. En la actualidad están en boga los llamados ensambladores de alto nivel, que permiten instrucciones más complejas e incluso cadenas de instrucciones (macros).



Por Sistemas, el 11/02/2005.

Historias relacionadas

Volver al inicio