¿Qué es un lenguaje ensamblador?
Es un lenguaje de programación de bajo nivel. Consiste en un conjunto de mnemónicos que representan instrucciones básicas para los computadores, microprocesadores, microcontroladores y otros circuitos integrados programables. Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura de procesador y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador.
Cada arquitectura de procesador tiene su propio lenguaje ensamblador que usualmente es definida por el fabricante de hardware, y está basada en los mnemónicos que simbolizan los pasos de procesamiento (las instrucciones), los registros del procesador, las posiciones de memoria y otras características del lenguaje. Un lenguaje ensamblador es por lo tanto específico de cierta arquitectura de computador física (o virtual). Esto está en contraste con la mayoría de los lenguajes de programación de alto nivel, que idealmente son portátiles.
Características:
Aunque todos los ensambladores realizan básicamente las mismas tareas, los podemos clasificar de acuerdo a sus características:
Ensambladores Cruzados (Cross-Assembler): Se denominan así los ensambladores que se utilizan en una computadora que posee un procesador diferente al que tendrán las computadoras donde va a ejecutarse el programa objeto producido.El empleo de este tipo de traductores permite aprovechar el soporte de medios físicos (discos, impresoras, pantallas, etc.), y de programación que ofrecen las máquinas potentes para desarrollar programas que luego los van a ejecutar sistemas muy especializados en determinados tipos de tareas.
Ensambladores Residentes: Son aquellos que permanecen en la memoria principal de la computadora y cargan, para su ejecución, al programa objeto producido. Este tipo de ensamblador tiene la ventaja de que se puede comprobar inmediatamente el programa sin necesidad de transportarlo de un lugar a otro, como se hacía en cross-assembler, y sin necesidad de programas simuladores.
Macroensambladores: Son ensambladores que permiten el uso de macroinstrucciones (macros). Debido a su potencia, normalmente son programas robustos que no permanecen en memoria una vez generado el programa objeto.
Microensambladores: El programa que indica al intérprete de instrucciones de la UCP cómo debe actuar se denomina microprograma. El programa que ayuda a realizar este microprograma se llama microensamblador. Existen procesadores que permiten la modificación de sus microprogramas, para lo cual se utilizan microensambladores.
Ensambladores de una fase: Estos ensambladores leen una línea del programa fuente y la traducen directamente para producir una instrucción en lenguaje máquina o la ejecuta si se trata de una pseudoinstrucción. También va construyendo la tabla de símbolos a medida que van apareciendo las definiciones de variables, etiquetas, etc.
Ensambladores de dos fases: Los ensambladores de dos fases se denominan así debido a que realizan la traducción en dos etapas. En la primera fase, leen el programa fuente y construyen una tabla de símbolos; de esta manera, en la segunda fase, vuelven a leer el programa fuente y pueden ir traduciendo totalmente, puesto que conocen la totalidad de los símbolos utilizados y las posiciones que se les ha asignado.
¿Cuál fue el primer lenguaje de programación?
En la década de 1940 fueron creadas las primeras computadoras modernas, con alimentación eléctrica. La velocidad y capacidad de memoria limitadas forzaron a los programadores a escribir programas, en lenguaje ensamblador muy afinados. Finalmente se dieron cuenta de que la programación en lenguaje ensamblador requería de un gran esfuerzo intelectual y era muy propensa a errores.
En 1946 Grace Hopper, científica en sistemas y oficial de la marina estadounidense creo el FLOW-MATIC, considerado el primer lenguaje de computadora útil para resolver problemas de usuarios comerciales, específicamente para la computadora UNIVAC 1. Era ligeramente cercano al idioma inglés y visto como un lenguaje de ‘alto nivel’: fácil de usar por los programadores pero necesitaba ser traducido por otro programa (compilador) en un lenguaje que la computadora pudiera interpretar y llevar a cabo.
En 1957 la compañía IBM creó FORTRAN, lenguaje diseñado específicamente para uso científico. Su nombre proviene del inglés Formula-Translator, o traductor de fórmulas. Éste se convirtió en el primer lenguaje de programación de alto nivel para programadores disponible para programadores de espectro más alto.
En 1958 surgió una versión mejorada llamada ALGOL (Algoritihmic Language) y después COBOL (Command Business Oriented Language); este último se empleaba para organizar archivos y administrar bases de datos de negocios.
martes, 21 de marzo de 2017
Lenguaje ensamblador
Suscribirse a:
Comentarios de la entrada (Atom)






0 comentarios:
Publicar un comentario