Red de conocimiento informático - Consumibles informáticos - ¡Puntuación alta! ! ¿Por qué los programas compilados en lenguaje ensamblador son más pequeños que los programas compilados en lenguajes de alto nivel como el lenguaje C?

¡Puntuación alta! ! ¿Por qué los programas compilados en lenguaje ensamblador son más pequeños que los programas compilados en lenguajes de alto nivel como el lenguaje C?

Los lenguajes informáticos se pueden dividir de bajo nivel a alto nivel:

Lenguaje de máquina, es decir, un lenguaje que puede ser reconocido por el hardware de la máquina compuesto por 0 y 1.

Lenguaje de bajo nivel, es decir, lenguaje ensamblador

Lenguaje intermedio, como el lenguaje C

Lenguaje de alto nivel, como C++, JAVA, C#, Delphi, etc.

El lenguaje ensamblador es un lenguaje de máquina compuesto por 0 y 1 expresados ​​en códigos en inglés con una semántica simple para facilitar la comprensión y la programación por parte de los programadores. El lenguaje ensamblador se utiliza generalmente para la manipulación directa del hardware. Dado que los programas escritos en lenguaje ensamblador son muy pequeños, generalmente el código central del programa que controla el hardware se puede escribir en lenguaje ensamblador. Por un lado, es seguro y, por otro, mejora la ejecución. velocidad.

El lenguaje ensamblador (Assembly Language) es un lenguaje de programación orientado a máquina.

En lenguaje ensamblador, use mnemónicos (Memoni) para reemplazar códigos de operación y use símbolos de dirección (Símbolo) o etiquetas (Etiqueta) para reemplazar códigos de dirección. De esta manera, el uso de símbolos para reemplazar el código binario del lenguaje de máquina convierte el habla de la máquina en lenguaje ensamblador. Por lo tanto, el lenguaje ensamblador también se llama lenguaje simbólico.

La máquina puede reconocer directamente un programa escrito en lenguaje ensamblador. Se requiere un programa para traducir el lenguaje ensamblador al lenguaje de máquina. Este programa de traducción se llama ensamblador. Software del sistema de procesamiento del lenguaje. Lenguaje ensamblador El proceso de traducir programas ensambladores a lenguaje de máquina se llama ensamblador.

El lenguaje ensamblador es más fácil de leer, escribir, depurar y modificar que el lenguaje de máquina. También tiene las ventajas de una ejecución rápida en lenguaje de máquina y menos espacio de memoria. Sin embargo, tiene limitaciones obvias al escribir programas complejos. Idioma El idioma depende del modelo de máquina específico y no puede ser universal ni portátil entre diferentes modelos.

■Para diferentes modelos de computadoras, existen diferentes estructuras de lenguaje ensamblador

El lenguaje ensamblador utiliza símbolos mnemotécnicos para escribir programas, lo cual es más conveniente que usar programación de código binario en lenguaje de máquina. Estos simplifican el proceso de programación hasta cierto punto. La característica del lenguaje ensamblador es que los símbolos reemplazan los códigos de instrucción de la máquina y los mnemotécnicos corresponden a los códigos de instrucción uno a uno, básicamente conservando la flexibilidad del lenguaje de máquina. El uso del lenguaje ensamblador puede estar orientado a la máquina y hacer un mejor uso de las características de la máquina, lo que da como resultado programas de mayor calidad.

El lenguaje ensamblador está orientado a modelos de máquina específicos y es inseparable del sistema de instrucciones de la computadora específica. Por lo tanto, para diferentes modelos de computadoras, existen lenguajes ensambladores con diferentes estructuras. Lenguaje compilado para el mismo problema. Los programas en lenguaje ensamblador son incompatibles entre diferentes tipos de computadoras.

Debido al uso de mnemónicos en lenguaje ensamblador, los programas escritos en lenguaje ensamblador se ingresan en la computadora. La computadora no puede reconocerlos ni ejecutarlos directamente como programas escritos en lenguaje de máquina. la computadora a través del "ensamblaje" Sólo mediante el procesamiento y la traducción del "programa" se puede convertir en un programa de código binario que la computadora pueda reconocer y procesar. Un programa simbólico escrito en un lenguaje que no es de máquina, como el lenguaje ensamblador, se denomina programa fuente. En tiempo de ejecución, el ensamblador traduce el programa fuente a un programa de destino. El programa de destino es un programa en lenguaje de máquina que, una vez colocado en una ubicación predeterminada de la memoria, puede ser procesado y ejecutado por la CPU de la computadora.

El lenguaje ensamblador, al igual que las instrucciones de la máquina, es la información de control para las operaciones del hardware. Por lo tanto, sigue siendo un lenguaje orientado a la máquina. Su uso sigue siendo relativamente engorroso, requiere mucho tiempo y tiene poca versatilidad. Sin embargo, el lenguaje ensamblador se utiliza para compilar software de sistema y software de control de procesos. Su programa de destino ocupa menos espacio de memoria y se ejecuta rápidamente. Tiene usos irremplazables para lenguajes de alto nivel.

En cuanto a la diferencia entre ensamblador y programación, es obvio que el lenguaje ensamblador es un lenguaje utilizado para escribir determinados programas. La programación es el proceso en el que los programadores escriben programas en un lenguaje determinado.

Todo lo que un lenguaje de alto nivel puede hacer, lo puede hacer el lenguaje ensamblador, y lo que un lenguaje de alto nivel no puede hacer, aún lo puede hacer el lenguaje ensamblador. La función del lenguaje ensamblador no está limitada por el lenguaje, sino que. por tus ideas. Nada es imposible.

Pero la razón por la que la gente no usa ensamblador para todo es que la eficiencia de la programación es baja. El lenguaje ensamblador se puede usar para compilar sistemas operativos, pero rara vez se usa en lenguaje C. use C. La razón es que la eficiencia de la programación es baja y el ensamblaje se usa en campos como pequeña cantidad de código, requisitos de alta eficiencia de ejecución, ocupación de espacio pequeño y programación de hardware, como creación de virus, controladores de hardware, microcontroladores, etc. .

Un lenguaje de alto nivel es un lenguaje diseñado artificialmente que describe algoritmos específicos, por lo que también se le llama lenguaje de algoritmos. Los lenguajes de alto nivel son independientes del hardware de la computadora (es decir, no tienen nada que ver con un hardware específico) y dependen del software para traducirse al lenguaje de máquina. Esto da como resultado un entorno mejor adaptable e independiente del software para el lenguaje ensamblador.