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 m

Views 80 Downloads 3 File size 107KB

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. 456 + 56 + 5 + 65 + 66 + + + + + + + + + + + + + + + 56 + 69 + + + + + + + + + + + + + + + + + + 45654645 + 65 + 66656556 + 879 + ==Uso: ventajas e inconvenientes== En general se utiliza este tipo de lenguaje para programar controladores (drivers). Algunos lenguajes de bajo nivel son el lenguaje de maquina , el lenguaje simbolico y el de programacion. El lenguaje de programacion 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. El programador debe conocer más de un centenar de instrucciones. Es necesario conocer en detalle la arquitectura de la máquina.

Características

 

Se trabaja a nivel de instrucciones, es decir, su programación es al más fino detalle. Está orientado a la máquina.

Primera generación [editar] 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 no puede ser escrito o leído usando un editor de texto, y por lo tanto es raro que una persona lo use directamente. 2444444444444+++ 5555555+ ++ 8 86865+89 5896 8+8+ Segunda generación [editar]



El lenguaje de programación de segunda generación (por sus siglas en inglés, 2GL), es el lenguaje ensamblador. Se considera de segunda generación porque, aunque no es lenguaje nativo del microprocesador, un programador de lenguaje ensamblador debe conocer la arquitectura del microprocesador (como por ejemplo las particularidades de sus registros o su conjunto de instrucciones). MASM y QuickAssembler: TASM es de Borland y OPTASM es de System.

LENGUAJE DE ALTO NIVEL: Los lenguajes de programación de alto nivel se caracterizan por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las máquinas. En los primeros lenguajes de alto nivel la limitación era que se orientaban a un área específica y sus instrucciones requerían de una sintaxis predefinida. Se clasifican como lenguajes procedimentales. Otra limitación de los lenguajes de alto nivel es que se requiere de ciertos conocimientos de programación para realizar las secuencias de instrucciones lógicas. Los lenguajes de muy alto nivel se crearon para que el usuario común pudiese solucionar tal problema de procesamiento de datos de una manera más fácil y rápida.

Por esta razón, a finales de los años 1950 surgió un nuevo tipo de lenguajes de programación que evitaba estos inconvenientes, a costa de ceder un poco en las ventajas. Estos lenguajes se llaman "de tercera generación" o "de alto nivel", en contraposición a los "de bajo nivel" o "de nivel próximo a la máquina". Ventajas [editar] La programación en un lenguaje de alto nivel tiene ciertas ventajas:

 

Genera un código más sencillo y comprensible. Escribir un código válido para diversas máquinas y, posiblemente, sistemas operativos.

Inconvenientes [editar]

 

Reducción de velocidad al ceder el trabajo de bajo nivel a la máquina. Algunos requieren que la máquina cliente posea una determinada plataforma.

Principales lenguajes de alto nivel [editar]

                      

Ada ALGOL Basic C++ C# Clipper COBOL Fortran FoxPro o Visual Foxpro Java Python ANGMAR Perl Pascal Logo PHP (PHP Hypertext Preprocessor) PL/SQL Python RPG MATLAB SISTEMA BERNAL ITM Modula-2 Lenguajes funcionales o Haskell o Lisp

ENSAMBLADOR: Lenguaje de programación que está a un paso del lenguaje de máquina. El ensamblador traduce cada sentencia del lenguaje ensamblador a una instrucción de máquina. Los programadores deben estar bien familiarizados con la arquitectura del computador, siendo los programas en lenguaje ensamblador no documentados difíciles de mantener. El lenguaje ensamblador es dependiente del hardware; hay un lenguaje ensamblador diferente para cada serie de CPU. ENSAMBLADOR :El término ensamblador (del inglés assembler) se refiere a un tipo de programa informático que se encarga de traducir un fichero fuente escrito en un lenguaje ensamblador, a un fichero objeto que contiene código máquina, ejecutable directamente por la máquina para la que se ha generado. El propósito para el que se crearon este tipo de aplicaciones es la de facilitar la escritura de programas, ya que escribir directamente en código binario, que es el único código entendible por la computadora, es en la práctica imposible. La evolución de los lenguajes de programación a partir del lenguaje ensamblador originó también la evolución de este programa ensamblador hacia lo que se conoce como programa compilador.

Contenido [ocultar]

   

1 Funcionamiento 2 Tipos de ensambladores 3 Véase también 4 Enlaces externos

Funcionamiento [editar] El programa lee el fichero escrito en lenguaje ensamblador y sustituye cada uno de los códigos nemotécnicos que aparecen por su código de operación correspondiente en sistema binario para la plataforma que se eligió como destino en las opciones específicas del ensamblador.cc Tipos de ensambladores [editar] Artículo principal: Ensamblador de alto nivel Podemos distinguir entre tres tipos de ensambladores:







  

Ensambladores básicos. Son de muy bajo nivel, y su tarea consiste básicamente en ofrecer nombres simbólicos a las distintas instrucciones, parámetros y cosas tales como los modos de direccionamiento. Además, reconoce una serie de directivas (o meta instrucciones) que indican ciertos parámetros de funcionamiento del ensamblador. Ensambladores modulares, o macro ensambladores. Descendientes de los ensambladores básicos, fueron muy populares en las décadas de los 50 y los 60, antes de la generalización de los lenguajes de alto nivel. Hacen todo lo que puede hacer un ensamblador, y además proporcionan una serie de directivas para definir e invocar macroinstrucciones (o simplemente, macros). Véase X86. Ensambladores modulares 32-bits o de alto nivel. Son ensambladores que aparecieron como respuesta a una nueva arquitectura de procesadores de 32 bits, muchos de ellos teniendo compatibilidad hacia atrás pudiendo trabajar con programas con estructuras de 16 bits. Además de realizar la misma tarea que los anteriores, permitiendo también el uso de macros, permiten utilizar estructuras de programación más complejas propias de los lenguajes de alto nivel. Lenguaje ensamblador Lenguaje de máquina

ENLAZADOR Un enlazador (en inglés, linker) es un programa que toma los ficheros de código objeto generado en los primeros pasos del proceso de compilación, la información de todos los recursos necesarios (biblioteca), quita aquellos recursos que no necesita, y enlaza el código objeto con su(s) biblioteca(s) con lo que finalmente produce un fichero ejecutable o una biblioteca. En el caso de los programas enlazados dinámicamente, el enlace entre el programa ejecutable y las bibliotecas se realiza en tiempo de carga o ejecución del programa.