Lenguaje de Bajo Nivel

Lenguaje de bajo nivel Un lenguaje de programación de bajo nivel es el que proporciona poca o ninguna abstracción del mi

Views 75 Downloads 1 File size 73KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Lenguaje de bajo nivel Un lenguaje de programación de bajo nivel es el que proporciona poca o ninguna abstracción del microprocesador de un ordenador. Consecuentemente es fácilmente trasladado a lenguaje de máquina. La palabra "bajo" no implica que el lenguaje sea inferior a un lenguaje de alto nivel; se refiere a la reducida abstracción entre el lenguaje y el hardware.

Uso: ventajas e inconvenientes. En general se utiliza este tipo de lenguaje para programar controladores (drivers). La programación en un lenguaje de bajo nivel como el lenguaje de la máquina o el lenguaje simbólico tiene ciertas ventajas: • Mayor adaptación al equipo. • Posibilidad de obtener la máxima velocidad con mínimo uso de memoria. Pero también tiene importantes inconvenientes: • Imposibilidad de escribir código independiente de la máquina. • Mayor dificultad en la programación y en la comprensión de los programas.

Lenguaje de máquina Los primeros ordenadores se programaban mediante cables o tableros de interruptores, que introducían el programa directamente en los circuitos del ordenador. Pero este sistema era muy poco flexible y pronto se sustituyó por otros más manejables, como la cinta de papel perforado y la tarjeta de cartulina perforada. Las cintas y tarjetas se perforaban mediante máquinas provistas de teclados especiales. El programa se escribía directamente en código binario y podía representarse mediante secuencias de ceros y unos (bits, abreviatura inglesa de "dígitos binarios"). Como el código binario es largo y muy poco legible, los programadores en el lenguaje de máquina suelen utilizar como abreviatura los sistemas de numeración octal (en base 8), si el número de "bits" es múltiplo de 3, o hexadecimal (en base 16), si el número de "bits" es múltiplo de 4.

Una instrucción máquina se expresaría en estos códigos así: Octal 22022317 Hexadecimal 4824CF

Dado a que esto es un poco incómodo, el código máquina se suele escribir en Ensamblador y posteriormente se ensambla a código máquina. El principal problema de programar en código máquina directamente es que es muy incómodo 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 código simbólico (en inglés Assembly language) es una notación del lenguaje de máquina que es legible por personas y es específica de cada arquitectura de computadoras. El lenguaje de máquina, un simple patrón de bits, es hecho legible reemplazando valores crudos por símbolos denominados mnemónicos. Se inventó para facilitar la tarea de los primeros programadores que hasta ese momento tenían que escribir directamente en código binario. Mientras que una computadora reconoce la instrucción de máquina IA32 10110000 01100001 para los programadores de microprocesadores x86 es mucho más fácil reconocer dicha instrucción empleando lenguaje ensamblador: mov al, 0x61 (que significa mover el valor hexadecimal 61 (97 decimal) al registro 'al'.) Cada instrucción de la máquina se transforma en una única instrucción en código simbólico. Pero además, para mejorar la legibilidad del programa, el código simbólico introduce instrucciones adicionales, que no corresponden a ninguna instrucción de la máquina y que proporcionan información. Se llaman "seudoinstrucciones". El código simbólico puede parecer de difícil acceso, pero es más fácil de recordar e interpretar que el binario o el hexadecimal. Los lenguajes simbólicos no resuelven definitivamente el problema de cómo programar un ordenador de la manera más 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 más. Además, el lenguaje ensamblador está demasiado microprocesador para que sea posible escribir independientes de la máquina en que van a ejecutarse.

ligado al programas

Este código simbólico no puede ser ejecutado directamente por un ordenador, por lo que es preciso traducirlo previamente. Pero la traducción es un proceso mecánico y repetitivo, que se presta a su realización por un programa de ordenador. Los programas que traducen código simbólico al lenguaje de máquina se llaman ensambladores ("assembler", en inglés), 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 clásico 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