LENGUAJES DE INTERFAZ PARTE 1
INTRODUCCIÓN.
Al desarrollarse las primeras computadoras electrónicas, se
vio la necesidad de programarlas, es decir, de almacenar en memoria la
información sobre la tarea que iban a ejecutar. Las primeras se usaban como
calculadoras simples; se les indicaban los pasos de cálculo, uno por uno.
Lenguaje Ensamblador es la primera abstracción del Lenguaje de Máquina,
consistente en asociar a los códigos de operación (OPCODES) palabras clave que
faciliten su uso por parte del programador. Como se puede ver, el Lenguaje
Ensamblador es directamente traducible al Lenguaje de Máquina, y viceversa;
simplemente, es una abstracción que facilita su uso para los seres humanos. Por
otro lado, la computadora no entiende directamente el Lenguaje Ensamblador; es
necesario traducirle a Lenguaje de Máquina. Originalmente, este proceso se
hacía a mano, usando para ello hojas donde se escribían tablas de programa
similares al ejemplo de la calculadora que vimos anteriormente. Pero, al ser
tan directa la traducción, pronto aparecieron los programas Ensambladores, que
son traductores que convierten el código fuente (en Lenguaje Ensamblador) a
código objeto (es decir, a Lenguaje de Máquina). Una característica que hay que
resaltar, es que al depender estos lenguajes del hardware, hay un distinto
Lenguaje de Máquina (y, por consiguiente, un distinto Lenguaje Ensamblador)
para cada CPU. Por ejemplo, podemos mencionar tres lenguajes completamente
diferentes, que sin embargo vienen de la aplicación de los conceptos
anteriores: 1. Lenguaje Ensamblador de la familia Intel 80x86. 2. Lenguaje
Ensamblador de la familia Motorola 68000. 3. Lenguaje Ensamblador del
procesador POWER, usado en las IBM RS/6000.
1.1 Importancia de la
programación en lenguaje ensamblador.
La importancia del lenguaje ensamblador radica
principalmente que se trabaja directamente con el microprocesador; por lo cual
se debe de conocer el funcionamiento interno de este, tiene la ventaja de que
en él se puede realizar cualquier tipo de programas que en los lenguajes de
alto nivel no lo pueden realizar. Otro punto sería que los programas en
ensamblador ocupan menos espacio en memoria. Permitirá adentrarnos al estudio
del hardware de una PC. Este lenguaje proporciona las herramientas para tomar
control sobre todo lo que la computadora realiza físicamente. Es importante
como se puede ver, el Lenguaje Ensamblador es directamente traducible al
Lenguaje de Máquina, y viceversa; simplemente, es una abstracción que facilita
su uso para los seres humanos. Por otro lado, la computadora no entiende
directamente al Lenguaje Ensamblador; es necesario traducirle a Lenguaje de
Máquina. Pero, al ser tan directa la traducción, pronto aparecieron los
programas Ensambladores, que son traductores que convierten el código fuente(en
Lenguaje Ensamblador) a código objeto (es decir, a Lenguaje de Máquina. Surge
como una necesidad de facilitar al programador la tarea de trabajar con
lenguaje máquina sin perder el control directo con el hardware.
Ventajas y desventajas del Lenguaje Ensamblador
Ventajas
1. Como trabaja directamente con el microprocesador al
ejecutar un programa, pues como este lenguaje es el más cercano a la máquina la
computadora lo procesa mas rápido.2. Eficiencia de tamaño .- Un programa en
ensamblador no ocupa mucho espacio en memoria porque no tiene que cargan
librerías y demás como son los lenguajes de alto nivel3. Flexibilidad .- Es
flexible porque todo lo que puede hacerse con una máquina, puede hacerse en el
lenguaje ensamblador de esta máquina; los lenguajes de alto nivel tienen en una
u otra forma limitantes para explotar al máximo los recursos de la máquina. O
sea que en lenguaje ensamblador se pueden hacer tareas específicas que en un
lenguaje de alto nivel no se pueden llevar acabo porque tienen ciertas
limitantes que no se lo permite
Desventajas
Tiempo de programación: Como es un lenguaje de bajo nivel
requiere más instrucciones para realizar el mismo proceso, en comparación con
un lenguaje de alto nivel. Por otro lado, requiere de más cuidado por parte del
programador, pues es propenso a que los errores de lógica se reflejen más
fuertemente en la ejecución.
Programas fuente grandes: Por las mismas razones que aumenta
el tiempo, crecen los programas fuentes; simplemente requerimos más
instrucciones primitivas para describir procesos equivalentes. Esto es una
desventaja porque dificulta el mantenimiento de los programas, y nuevamente
reduce la productividad de los programadores.
Peligro de afectar recursos inesperadamente: Que todo error
que podamos cometer, o todo riesgo que podamos tener, podemos afectar los
recursos de la maquina, programar en este lenguaje lo más común que pueda pasar
es que la máquina se bloquee o se reinicialice. Porque con este lenguaje es
perfectamente posible (y sencillo) realizar secuencias de instrucciones
inválidas, que normalmente no aparecen al usar un lenguaje de alto nivel.
Falta de portabilidad: Porque para cada máquina existe un
lenguaje ensamblador; por ello, evidentemente no es una selección apropiada de
lenguaje cuando deseamos codificar en una máquina y luego llevar los programas
a otros sistemas operativos o modelos de computadoras.
Comentarios
Publicar un comentario