You are on page 1of 3

Lenguaje de bajo nivel

Un lenguaje de programacin de bajo nivel es el que proporciona poca o ninguna abstraccin del microprocesador de un ordenador. Consecuentemente es fcilmente trasladado a lenguaje de mquina. La palabra "bajo" no implica que el lenguaje sea inferior a un lenguaje de alto nivel; se refiere a la reducida abstraccin entre el lenguaje y el hardware.

Uso: ventajas e inconvenientes.


En general se utiliza este tipo de lenguaje para programar controladores (drivers). La programacin en un lenguaje de bajo nivel como el lenguaje de la mquina o el lenguaje simblico tiene ciertas ventajas: Mayor adaptacin al equipo. Posibilidad de obtener la mxima velocidad con mnimo uso de memoria. Pero tambin tiene importantes inconvenientes: Imposibilidad de escribir cdigo independiente de la mquina. Mayor dificultad en la programacin y en la comprensin de los programas.

Lenguaje de mquina
Los primeros ordenadores se programaban mediante cables o tableros de interruptores, que introducan el programa directamente en los circuitos del ordenador. Pero este sistema era muy poco flexible y pronto se sustituy por otros ms manejables, como la cinta de papel perforado y la tarjeta de cartulina perforada. Las cintas y tarjetas se perforaban mediante mquinas provistas de teclados especiales. El programa se escriba directamente en cdigo binario y poda representarse mediante secuencias de ceros y unos (bits, abreviatura inglesa de "dgitos binarios"). Como el cdigo binario es largo y muy poco legible, los programadores en el lenguaje de mquina suelen utilizar como abreviatura los sistemas de numeracin octal (en base 8), si el nmero de "bits" es mltiplo de 3, o hexadecimal (en base 16), si el nmero de "bits" es mltiplo de 4.

Una instruccin mquina se expresara en estos cdigos as:


Octal 22022317 Hexadecimal 4824CF

Dado a que esto es un poco incmodo, el cdigo mquina se suele escribir en Ensamblador y posteriormente se ensambla a cdigo mquina. El principal problema de programar en cdigo mquina directamente es que es muy incmodo y muy poco portable, por ello existen los lenguajes de alto nivel, destacando entre ellos el C por no ser del todo de alto nivel, siendo a veces considerado de nivel medio.

Lenguaje ensamblador
El lenguaje ensamblador o cdigo simblico (en ingls Assembly language) es una notacin del lenguaje de mquina que es legible por personas y es especfica de cada arquitectura de computadoras. El lenguaje de mquina, un simple patrn de bits, es hecho legible reemplazando valores crudos por smbolos denominados mnemnicos. Se invent para facilitar la tarea de los primeros programadores que hasta ese momento tenan que escribir directamente en cdigo binario. Mientras que una computadora reconoce la instruccin de mquina IA32 10110000 01100001 para los programadores de microprocesadores x86 es mucho ms fcil reconocer dicha instruccin empleando lenguaje ensamblador: mov al, 0x61 (que significa mover el valor hexadecimal 61 (97 decimal) al registro 'al'.) Cada instruccin de la mquina se transforma en una nica instruccin en cdigo simblico. Pero adems, para mejorar la legibilidad del programa, el cdigo simblico introduce instrucciones adicionales, que no corresponden a ninguna instruccin de la mquina y que proporcionan informacin. Se llaman "seudoinstrucciones". El cdigo simblico puede parecer de difcil acceso, pero es ms fcil de recordar e interpretar que el binario o el hexadecimal. Los lenguajes simblicos no resuelven definitivamente el problema de cmo programar un ordenador de la manera ms sencilla posible. Para utilizarlos, hay que conocer a fondo el microprocesador, los registros de

trabajo de que dispone, la estructura de la memoria, y muchas cosas ms. Adems, el lenguaje ensamblador est demasiado microprocesador para que sea posible escribir independientes de la mquina en que van a ejecutarse. ligado al programas

Este cdigo simblico no puede ser ejecutado directamente por un ordenador, por lo que es preciso traducirlo previamente. Pero la traduccin es un proceso mecnico y repetitivo, que se presta a su realizacin por un programa de ordenador. Los programas que traducen cdigo simblico al lenguaje de mquina se llaman ensambladores ("assembler", en ingls), porque son capaces de ensamblar el programa traducido a partir de varias piezas, procedimientos o subrutinas.

Ejemplos de lenguaje ensamblador


El siguiente es un ejemplo del programa clsico Hola mundo escrito para la arquitectura de procesador x86 (bajo el sistema operativo DOS).
.model small .stack .data Cadena1 DB 'Hola Mundo.$' .code programa: mov ax, @data mov ds, ax mov dx, offset Cadena1 mov ah, 9 int 21h end programa

You might also like