Lenguaje de Maquina


El lenguaje de maquina es el “lenguaje natural” que entienden las computadoras directamente y esta conformado por un sistema binario de “1” unos y “0” ceros.

El sistema binario permite el empleo de las teorías de algebra booleana (o de Boole) en su programación. Es la forma de esquematizar las operaciones lógicas en electrónica digital.

El lenguaje de máquina de una computadora consiste en cadenas de números binarios (instrucciones) y es lo único que la UCP (CPU) entiende directamente.

Este código binario (0 y 1) representan dos niveles de voltaje comprendidos entre  0 y 4 voltios y 4 y 5 voltios, respectivamente.

Una dificultad añadida a los lenguajes de maquina es que dependen del tipo de procesador de la computadora ya que cada uno de ellos tiene sus instrucciones muy específicas.

En consecuencia, un programa escrito para un tipo de procesador no se podrá usar en otro equipo que utilice un procesador distinto, ya que, el programa no será portable.

Para que dicho programa pueda funcionar en una segunda computadora, habrá que traducir todas las instrucciones escritas en el lenguaje máquina del primer equipo al lenguaje binario de la segunda computadora.

Una instrucción preparada en cualquier lenguaje de maquina debe tener cuando menos dos partes. La primera parte es el comando u operación y le dice a la computadora cual es la función que realizara.

Cada computadora tiene un código de operación (“op code”) para cada una de sus funciones. La segunda parte de la instrucción es el operando y le dice a la computadora donde encontrar o almacenar los datos u otras instrucciones que vayan a ser manejadas.


Abrir en una ventana mas grande


El número de operandos en una instrucción varia entre las diferentes computadoras. En una maquina de un solo operando, el equivalente binario de “ADD 0184” ocasionaría que el valor de la dirección 0184 se sumara al valor almacenado en el registro de la unidad aritmeticológica.

En una maquina de dos operandos, la representación binaria de “ADD 0184 8672” ocasionaría que el valor en la dirección 8672 se sumara al numero en la localidad (posición) 0184.

El formato de un solo operando es popular en las microcomputadoras; la estructura de dos operandos es más común en el resto de las maquinas.

Para los estándares actuales, las computadoras antiguas eran difíciles de manejar. Los programadores tenían que traducir las instrucciones directamente al lenguaje de maquina para que la computadora lo entendiera.

Por ejemplo; el programador que escribe la instrucción de “ADD 0184” para una maquina IBM antigua, tendría que haber escrito:

000100000000000000000000000010111000

Además de tener que recordar las docenas de códigos numéricos para los comandos en el conjunto de instrucciones de la máquina, un programador se veía forzado a mantener un seguimiento de las localidades (posiciones) de almacenamiento de los datos y las instrucciones.

La codificación inicial solía llevarse meses, por lo cual era bastante cara y a menudo provocaba errores. Las instrucciones de verificación para localizar errores eran tan tediosas de escribir como lo habían sido las iniciales y si un programa tenia que ser modificado en una fecha posterior, el trabajo que tal tarea significaba podía llevarse semanas.


Términos 


Bit  - Bit es la unidad minima de información digital binario que puede ser 1 o 0 (Binary Digit) 

Nibble - Es un grupo de 4 bit y en un Byte existen dos grupos, el Superior y el Inferior.

Byte -  Es un grupo de 8 bit que es la información minima para sistemas de computo con 256 combinaciones. (2 a la 8)


 


Tabla Nibble con equivalencia Hexadecimal


Nibble en binario
Valor Hexadecimal
Valor Decimal
0000
  0
  0
0001
  1
  1
0010
  2
  2
0010
  3
  3
0100
  4
  4
0101
  5
  5
0110
  6
  6
0111
  7
  7
1000
  8
  8
1001
  9
  9
1010
  A
  10
1011
  B
  11
1100
  C
  12
1101
  D
  13
1110
  E
  14
1111
  F
  15

 Ejemplo:


   BYTE                            Valor hexadecimal

0111 0101                                   75


OTROS LINKS INTERESANTES