Que es lenguaje de maquina

¿Por qué el lenguaje ensamblador se denomina lenguaje de programación de bajo nivel?

Un lenguaje de máquina está «hecho» de números, o más exactamente de patrones de bits, que caben en un byte; es decir, enteros en el rango de 0 a 255 (0 a FF en hexadecimal): Cada número, denominado opcode, tiene asociada una «acción». Por ejemplo, para la CPU del C-64, el número 141 (o $8D en hexadecimal) significa «almacenar un número en una dirección específica de la RAM (o en un dispositivo de E/S)», de forma muy parecida a como lo hace POKE en BASIC.

Así como la sintaxis del comando POKE requiere una dirección, la «palabra» en lenguaje de máquina, u opcode para almacenar un byte en RAM necesita ir seguida de alguna información que diga dónde almacenar ese byte; tales «detalles» se llaman argumento. Otros opcodes no necesitan tal información suplementaria, análogamente a ciertos comandos BASIC como END y RETURN.

Una instrucción en lenguaje máquina tarda aproximadamente de 2 a 7 microsegundos en completarse, en comparación con los milisegundos de un comando BASIC (principalmente porque mientras se ejecuta un programa BASIC, el ordenador necesita «descodificar» cada comando a medida que avanza). Pero como cada instrucción de una máquina realiza sólo una tarea minúscula, a menudo se necesitan muchas instrucciones para hacer cosas que pueden conseguirse con un solo comando BASIC.

Niveles de lenguaje de programación

El lenguaje máquina, o código máquina, es un lenguaje de bajo nivel compuesto por dígitos binarios (unos y ceros). Los lenguajes de alto nivel, como Swift y C++, deben compilarse en lenguaje máquina antes de ejecutar el código en un ordenador.

Aunque el código máquina se compone de 1s y 0s, las distintas arquitecturas de procesador utilizan un código máquina diferente. Por ejemplo, un procesador PowerPC, que tiene una arquitectura RISC, requiere un código diferente al de un procesador Intel x86, que tiene una arquitectura CISC. Para que un programa funcione correctamente, un compilador debe compilar código fuente de alto nivel para la arquitectura de procesador correcta.

  Diseño publicitario en ingles

El lenguaje máquina y el lenguaje ensamblador son lenguajes de bajo nivel, pero el código máquina está por debajo del ensamblador en la jerarquía de los lenguajes informáticos. El lenguaje ensamblador incluye comandos legibles para el ser humano, como mov, add y sub, mientras que el lenguaje máquina no contiene ninguna palabra, ni siquiera letras. Algunos desarrolladores escriben manualmente lenguaje ensamblador para optimizar un programa, pero no escriben código máquina. Sólo los desarrolladores que escriben compiladores de software deben preocuparse por el lenguaje máquina.

Lenguaje informático

En programación informática, el código máquina es un código informático formado por instrucciones en lenguaje máquina, que se utilizan para controlar la unidad central de procesamiento (CPU) de un ordenador. Cada instrucción hace que la CPU realice una tarea muy específica, como una carga, un almacenamiento, un salto o una operación de la unidad aritmética lógica (ALU) en una o más unidades de datos de los registros o la memoria de la CPU.

Las primeras CPU tenían un código máquina específico que podía romper la compatibilidad con cada nueva CPU que salía al mercado. La noción de arquitectura del conjunto de instrucciones (ISA) define y especifica el comportamiento y la codificación en memoria del conjunto de instrucciones del sistema, sin especificar su implementación exacta. Esto actúa como una capa de abstracción que permite la compatibilidad dentro de la misma familia de CPU, de modo que el código máquina escrito o generado según la ISA para la familia funcionará en todas las CPU de la familia, incluidas las futuras.

  Publicidad sem

El código máquina es un lenguaje estrictamente numérico, y es la interfaz de más bajo nivel con la CPU destinada a un programador. En algunas CPU, existe una interfaz de nivel inferior en forma de microcódigo (modificable) que implementa el código máquina. Sin embargo, el microcódigo no está pensado para ser modificado por el usuario final en las CPU comerciales normales. El lenguaje ensamblador proporciona una correspondencia directa entre el código máquina numérico y una versión legible para el ser humano en la que los opcodes y operandos numéricos se sustituyen por cadenas legibles (por ejemplo, 0x90 es la instrucción NOP en x86). Aunque es posible escribir programas directamente en código máquina, gestionar los bits individuales y calcular manualmente las direcciones numéricas y las constantes es tedioso y propenso a errores. Por esta razón, los programas rara vez se escriben directamente en código máquina en contextos modernos, pero puede hacerse para depuración de bajo nivel, parcheado de programas (especialmente cuando no se dispone del código fuente en ensamblador) y desensamblado en lenguaje ensamblador.

Lenguaje de programación de alto nivel

Un programa escrito en lenguaje máquina es una colección de dígitos binarios o bits que el ordenador lee e interpreta. Es un sistema de instrucciones y datos que ejecuta directamente la CPU de un ordenador. También se denomina código máquina o código objeto. Se escribe como cadenas de 0 y 1.

» El lenguaje máquina está definido por el hardware de un ordenador. Depende del tipo de procesador o familia de procesadores que utilice el ordenador y, por tanto, depende de la máquina. Un programa de nivel máquina escrito en un ordenador puede no funcionar en otro con un procesador diferente.

  Consejos para hacer stop motion

» Los ordenadores también pueden diferir en otros detalles, como la disposición de la memoria, los sistemas operativos y los dispositivos periféricos; como un programa depende normalmente de estos factores, es posible que un ordenador diferente no ejecute el mismo programa de lenguaje máquina, aunque se utilice el mismo tipo de procesador.

» La mayoría de las instrucciones de nivel máquina tienen uno o más campos opcode que especifican el tipo de instrucción básica (como aritmética, lógica, salto, etc.), la operación real (como sumar o comparar) y algunos otros campos.

Rate this post
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad
A %d blogueros les gusta esto: