fbpx
Wikipedia

Lenguaje de bajo nivel

Un lenguaje de programación de características de bajo nivel o de primera generación, es aquel en el que sus instrucciones ejercen un control directo sobre el hardware y están condicionados por la estructura física de las computadoras que lo soportan. El uso de la palabra bajo en su denominación no implica que el lenguaje sea menos potente que un lenguaje de alto nivel, sino que se refiere a la reducida abstracción entre el lenguaje y el hardware. Por ejemplo, este tipo de lenguajes se utiliza para programar tareas críticas de los sistemas operativos, de aplicaciones en tiempo real o controladores de dispositivos.

Complejidad vs dificultad

Los lenguajes de bajo nivel tales como el lenguaje ensamblador pueden ser más difíciles de programar que los lenguajes de alto nivel debido a que están más íntimamente relacionados con las características técnicas del hardware. Además estos suelen carecer de abstracciones de mayor nivel. No es posible una abstracción fuera de lo estipulado para el conjunto del microcódigos del microprocesador de un ordenador. Por otro lado, es más fácilmente traducible a lenguaje de máquina, tarea que realiza esencialmente un compilador.

De menor a mayor nivel de abstracción respecto del hardware es posible clasificar los lenguajes de programación de la siguiente manera:

  1. Lenguaje de máquina: Está formado por los unos (1) y ceros (0) que ejecutará directamente la unidad central de procesamiento (CPU). Al visualizar este lenguaje en un editor de texto plano parecerá sin sentido (caracteres basura). Muchos de ellos serán caracteres no imprimibles. Estos ceros y unos representan literalmente instrucciones y datos a ser procesados.
  2. Lenguajes ensambladores (en inglés assembler): También denominados nemotécnicos o nemónicos, son un primer nivel de abstracción. No son ya programas ejecutables directamente por el ordenador, sino textos de código fuente inteligibles por humanos que necesitan de alguna herramienta (esencialmente un compilador) para su traducción a lenguaje de máquina que el CPU pueda ejecutar. Sus instrucciones suelen ser una denominación abreviada de la instrucción máquina que simbolizan, y tienen una correspondencia casi directa (uno a uno) a las instrucciones de máquina que representan. El código resultante de la compilación del lenguaje ensamblador genera un código de máquina binario ejecutable.
    Son instrucciones que ensamblan los grupos de conmutadores necesarios para expresar una mínima lógica aritmética. Están íntimamente vinculados al hardware. Algunas de estas instrucciones pueden ser por ejemplo MOV para mover un dato de un lugar a otro, o ADD para sumar dos valores. Por norma general están disponibles a nivel firmware, cmos o chip set. Estos lenguajes están orientados a procesos. Los procesos se componen de tareas. Contienen tantas instrucciones como la arquitectura del hardware así haya sido diseñada. La arquitectura CISC contiene muchas más instrucciones a este nivel, que la RISC.
    Los otros lenguajes que completan la clasificación no serían ya lenguajes de bajo nivel.
  3. Lenguajes de medio nivel: Son aquellos que, basándose en los juegos de instrucciones disponibles (chip set), permiten el uso de funciones a nivel aritmético, pero a nivel lógico dependen de literales en ensamblador. Estos lenguajes están orientados a procedimientos. Los procedimientos se componen de procesos.
    • Ejemplos: C, Basic. De mayor nivel pero aun así considerables de nivel medio: C++, Fortran, Cobol, Lisp.

Interacción máquina

En este tipo de lenguajes 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 sobre la base de los planos del hardware y del objetivo del software.
  • isomorfismo - Conceptualización de los datos de la información, que se complementaran

Primera generación

El lenguaje de programación de primera generación (por sus siglas en inglés: 1GL), es el lenguaje de código máquina. Es el único lenguaje que un microprocesador entiende de forma nativa. El lenguaje máquina al constar de unos y ceros, es de difícil lectura y gran probabilidad de equivocación al ingresarlo, por lo tanto es raro que una persona lo use directamente.

Las instrucciones en lenguaje máquina, constan de una o dos memorias de instrucción, y otras memorias con datos (ver artículo modos de direccionamiento)

Ejemplo, una instrucción en lenguaje máquina acorde al microprocesador Z80
Índice de memoria Binario Hexadecimal Significado
0 10000111 87 Agrega lo que esté en la siguiente memoria a la memoria acumulador
1 01110111 77 Dato. Número 119 en decimal y 77 en hexadecimal.

Segunda generación

El lenguaje de programación de segunda generación (por sus siglas en inglés: 2GL), es el lenguaje ensamblador. El avance respecto al anterior, es que en vez de llanos unos y ceros, se tienen mnemónicos ya escritos como un texto, y datos visibles a un lado del mnemónico. En este se requiere de un programa que traduzca los mnemónicos a lenguaje máquina.

Un programador de lenguaje ensamblador debe conocer la arquitectura del procesador (como por ejemplo las particularidades de sus registros o su conjunto de instrucciones).

 
Ejemplo de código ensamblador en el recuadro morado. Abajo, en el recuadro rojo se muestra un texto codificado en hexadecimal en código ASCII.

Véase también

  •   Datos: Q558937

lenguaje, bajo, nivel, este, artículo, sección, necesita, referencias, aparezcan, publicación, acreditada, este, aviso, puesto, octubre, 2015, lenguaje, programación, características, bajo, nivel, primera, generación, aquel, instrucciones, ejercen, control, di. Este articulo o seccion necesita referencias que aparezcan en una publicacion acreditada Este aviso fue puesto el 17 de octubre de 2015 Un lenguaje de programacion de caracteristicas de bajo nivel o de primera generacion es aquel en el que sus instrucciones ejercen un control directo sobre el hardware y estan condicionados por la estructura fisica de las computadoras que lo soportan El uso de la palabra bajo en su denominacion no implica que el lenguaje sea menos potente que un lenguaje de alto nivel sino que se refiere a la reducida abstraccion entre el lenguaje y el hardware Por ejemplo este tipo de lenguajes se utiliza para programar tareas criticas de los sistemas operativos de aplicaciones en tiempo real o controladores de dispositivos Indice 1 Complejidad vs dificultad 2 Interaccion maquina 3 Primera generacion 4 Segunda generacion 5 Vease tambienComplejidad vs dificultad EditarLos lenguajes de bajo nivel tales como el lenguaje ensamblador pueden ser mas dificiles de programar que los lenguajes de alto nivel debido a que estan mas intimamente relacionados con las caracteristicas tecnicas del hardware Ademas estos suelen carecer de abstracciones de mayor nivel No es posible una abstraccion fuera de lo estipulado para el conjunto del microcodigos del microprocesador de un ordenador Por otro lado es mas facilmente traducible a lenguaje de maquina tarea que realiza esencialmente un compilador De menor a mayor nivel de abstraccion respecto del hardware es posible clasificar los lenguajes de programacion de la siguiente manera Lenguaje de maquina Esta formado por los unos 1 y ceros 0 que ejecutara directamente la unidad central de procesamiento CPU Al visualizar este lenguaje en un editor de texto plano parecera sin sentido caracteres basura Muchos de ellos seran caracteres no imprimibles Estos ceros y unos representan literalmente instrucciones y datos a ser procesados Lenguajes ensambladores en ingles assembler Tambien denominados nemotecnicos o nemonicos son un primer nivel de abstraccion No son ya programas ejecutables directamente por el ordenador sino textos de codigo fuente inteligibles por humanos que necesitan de alguna herramienta esencialmente un compilador para su traduccion a lenguaje de maquina que el CPU pueda ejecutar Sus instrucciones suelen ser una denominacion abreviada de la instruccion maquina que simbolizan y tienen una correspondencia casi directa uno a uno a las instrucciones de maquina que representan El codigo resultante de la compilacion del lenguaje ensamblador genera un codigo de maquina binario ejecutable Son instrucciones que ensamblan los grupos de conmutadores necesarios para expresar una minima logica aritmetica Estan intimamente vinculados al hardware Algunas de estas instrucciones pueden ser por ejemplo MOV para mover un dato de un lugar a otro o ADD para sumar dos valores Por norma general estan disponibles a nivel firmware cmos o chip set Estos lenguajes estan orientados a procesos Los procesos se componen de tareas Contienen tantas instrucciones como la arquitectura del hardware asi haya sido disenada La arquitectura CISC contiene muchas mas instrucciones a este nivel que la RISC Por ejemplo Assembler x86 JMP y MULT Los otros lenguajes que completan la clasificacion no serian ya lenguajes de bajo nivel Lenguajes de medio nivel Son aquellos que basandose en los juegos de instrucciones disponibles chip set permiten el uso de funciones a nivel aritmetico pero a nivel logico dependen de literales en ensamblador Estos lenguajes estan orientados a procedimientos Los procedimientos se componen de procesos Ejemplos C Basic De mayor nivel pero aun asi considerables de nivel medio C Fortran Cobol Lisp Interaccion maquina EditarEn este tipo de lenguajes se trabaja a nivel de instrucciones es decir su programacion es al mas fino detalle ademas esta completamente orientado a la maquina Adaptacion Maxima entre programacion y aprovechamiento del recurso de la maquina Velocidad Maxima al contar con un acceso directo a los recursos sin capas intermedias Portabilidad Minima por estar restringido a las especificaciones del fabricante Abstraccion Minima por depender completamente de la tecnica del hardware Uso Requiere de la maxima atencion y de una organizacion estructurada sobre la base de los planos del hardware y del objetivo del software isomorfismo Conceptualizacion de los datos de la informacion que se complementaranPrimera generacion EditarEl lenguaje de programacion de primera generacion por sus siglas en ingles 1GL es el lenguaje de codigo maquina Es el unico lenguaje que un microprocesador entiende de forma nativa El lenguaje maquina al constar de unos y ceros es de dificil lectura y gran probabilidad de equivocacion al ingresarlo por lo tanto es raro que una persona lo use directamente Las instrucciones en lenguaje maquina constan de una o dos memorias de instruccion y otras memorias con datos ver articulo modos de direccionamiento Ejemplo una instruccion en lenguaje maquina acorde al microprocesador Z80 Indice de memoria Binario Hexadecimal Significado0 10000111 87 Agrega lo que este en la siguiente memoria a la memoria acumulador1 01110111 77 Dato Numero 119 en decimal y 77 en hexadecimal Segunda generacion EditarEl lenguaje de programacion de segunda generacion por sus siglas en ingles 2GL es el lenguaje ensamblador El avance respecto al anterior es que en vez de llanos unos y ceros se tienen mnemonicos ya escritos como un texto y datos visibles a un lado del mnemonico En este se requiere de un programa que traduzca los mnemonicos a lenguaje maquina Un programador de lenguaje ensamblador debe conocer la arquitectura del procesador como por ejemplo las particularidades de sus registros o su conjunto de instrucciones Ejemplo de codigo ensamblador en el recuadro morado Abajo en el recuadro rojo se muestra un texto codificado en hexadecimal en codigo ASCII Vease tambien EditarLenguaje ensamblador Ensamblador Datos Q558937Obtenido de https es wikipedia org w index php title Lenguaje de bajo nivel amp oldid 132772141, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos