LENGUAJE MAQUINA
El lenguaje de m谩quina o c贸digo m谩quina es el sistema de c贸digos directamente interpretable por un circuito microprogramable, como el microprocesador de una computadora o el microcontroladorde un aut贸mata. Este lenguaje est谩 compuesto por un conjunto de instrucciones que determinan acciones a ser tomadas por la m谩quina. Un programa consiste en una cadena de estas instrucciones m谩s un conjunto de datos sobre el cual se trabaja. Estas instrucciones son normalmente ejecutadas en secuencia, con eventuales cambios de flujo causados por el propio programa o eventos externos. El lenguaje de m谩quina es espec铆fico de la arquitectura de la m谩quina,aunque el conjunto de instrucciones disponibles pueda ser similar entre arquitecturas distintas.
Los circuitos microprogramables son digitales, lo que significa que trabajan con dos 煤nicos niveles de tensi贸n. Dichos niveles, por abstracci贸n, se simbolizan con los n煤meros 0 y 1, por eso el lenguaje de m谩quina s贸lo utiliza dichos signos. Esto permite el empleo de las teor铆as del谩lgebra booleana y del sistema binario en el dise帽o de este tipo de circuitos y en su programaci贸n.
El desarrollo tecnol贸gico ha permitido evolucionar desde las redes de rel茅s electromagn茅ticos a circuitos con tubos de vac铆o, luego a redes transistorizadas, hasta llegar a los modernos circuitos integrados, en cuya c煤spide se encuentran los circuitos microprogramados. Claude Elwood Shannon, en su libro Analysis of Relay and Switching Circuits, y con sus experiencias en redes de conmutaci贸n, sent贸 las bases para la aplicaci贸n del 谩lgebra de Boole a las redes de conmutaci贸n. Una red de conmutaci贸n es un circuito de interruptores el茅ctricos que al cumplir ciertas combinaciones booleanas con las variables de entrada, define el estado de la salida. Este concepto es el n煤cleo de las puertas l贸gicas, las cuales son, por su parte, los ladrillos con que se construyen sistemas l贸gicos cada vez m谩s complejos. Shannon utilizaba el rel茅 como dispositivo f铆sico de conmutaci贸n en sus redes, dado que el rel茅, a igual que una l谩mpara el茅ctrica, posee dos estados: activado (encendido) o desactivado (apagado).
Fue el primer lenguaje utilizado en la programaci贸n para las primeras computadoras, pero dej贸 de utilizarse por su dificultad y complicaci贸n, siendo sustituido por otros lenguajes m谩s f谩ciles de aprender y utilizar, y que adem谩s reducen la posibilidad de cometer errores.
La informaci贸n que hace que el hardware de la computadora realice una determinada actividad de llama instrucci贸n, por consiguiente una instrucci贸n es un conjunto de unos y ceros, las instrucciones as铆 formadas equivalen a acciones elementales de la m谩quina, por lo que al conjunto de dichas instrucciones que son interpretadas directamente por la m谩quina se denomina lenguaje m谩quina.
El lenguaje m谩quina es el 煤nico lenguaje que puede ejecutar una computadora, es espec铆fico en cada arquitectura, es un c贸digo que es interpretado directamente por el microprocesador, est谩 compuesto por un conjunto de instrucciones ejecutadas en secuencia que representan acciones que la m谩quina podr谩 tomar.
El lenguaje m谩quina es el 煤nico que entiende directamente la computadora, utiliza el alfabeto binario que consta de los dos 煤nicos s铆mbolos 0 y 1, denominados bits; f铆sicamente, se materializan con tensiones comprendidas entre 0 y 4.0 voltios y entre 4 y 5 voltios, respectivamente. Para representar datos que contengan una informaci贸n se utilizan una serie de unos y ceros cuyo conjunto indica dicha informaci贸n.
Todo c贸digo fuente en 煤ltima instancia debe llevarse a un lenguaje m谩quina mediante el proceso de compilaci贸n o interpretaci贸n para que la computadora pueda ejecutarlo.
Las instrucciones preparadas en cualquier lenguaje de m谩quina tienen por lo menos dos partes, el comando u operaci贸n, que dice a la computadora cu谩l es la funci贸n que va a realizar y la instrucci贸n es el operando, que indica a la computadora donde hallar o almacenar los datos y otras instrucciones que se van a manipular; el n煤mero de operandos de una instrucci贸n var铆a en las distintas computadoras, una instrucci贸n en lenguaje m谩quina puede, por ejemplo, representarse de la siguiente forma:
011011001010010011110110
Esta secuencia es f谩cilmente ejecutada por la computadora, pero es de dif铆cil interpretaci贸n, siendo aun m谩s dif铆cil la interpretaci贸n de un programa escrito de esta forma, esta dificultad hace que los errores sean frecuentes y la correcci贸n de los mismos costosa, cuando no imposible, al igual que la verificaci贸n y modificaci贸n de los programas.
Como se puede observar, estas instrucciones ser谩n f谩ciles de leer por la computadora y dif铆ciles por un programador, y viceversa, esta raz贸n hace dif铆cil escribir programas en c贸digo o lenguaje a m谩quina y requiere buscar otro lenguaje para comunicarse con la computadora, pero que sea m谩s f谩cil de escribir y leer por el programador. Para evitar la tediosa tarea de escribir programas en lenguaje maquina, se han dise帽ado otros lenguajes de programaci贸n que facilitan la escritura y posterior ejecuci贸n de los programas.
EJEMPLO
Las ventajas de esto son evidentes, ya que para el hombre resulta m谩s f谩cil manipular grupos de caracteres y la traducci贸n se har铆a de manera autom谩tica.
No hay comentarios:
Publicar un comentario