Diferencia entre ensamblador y compilador

Diferencia entre ensamblador y compilador
Diferencia entre ensamblador y compilador

Video: Diferencia entre ensamblador y compilador

Video: Diferencia entre ensamblador y compilador
Video: Which Tokyo Disney Theme Park Is Better? Disneyland VS Disneysea! 2024, Noviembre
Anonim

Ensamblador vs Compilador

En general, el compilador es un programa informático que lee un programa escrito en un idioma, que se denomina idioma de origen, y lo traduce a otro idioma, que se denomina idioma de destino. Tradicionalmente, el lenguaje de origen era un lenguaje de alto nivel como C++ y el lenguaje de destino era un lenguaje de bajo nivel como el lenguaje ensamblador. Sin embargo, existen compiladores que pueden convertir un programa fuente escrito en lenguaje ensamblador y convertirlo en código máquina o código objeto. Los ensambladores son esas herramientas. Entonces, tanto los ensambladores como los compiladores finalmente producen código que se puede ejecutar directamente en una máquina.

¿Qué es un compilador?

El compilador es un programa informático que lee un programa escrito en un idioma, que se denomina idioma de origen, y lo traduce a otro idioma, que se denomina idioma de destino. La mayoría de las veces, el idioma de origen es un idioma de alto nivel y el idioma de destino es un idioma de bajo nivel. Entonces, en general, los compiladores pueden verse como traductores que traducen de un idioma a otro. Además, los compiladores realizan algunas optimizaciones al código. Un compilador típico se compone de varios componentes principales. El primer componente es el escáner (también conocido como analizador léxico). Scanner lee el programa y lo convierte en una cadena de tokens. El segundo componente es el analizador. Convierte la cadena de tokens en un árbol de análisis (o un árbol de sintaxis abstracta), que captura la estructura sintáctica del programa. El siguiente componente son las rutinas semánticas que interpretan la semántica de la estructura sintáctica. Las optimizaciones de código y la generación de código final siguen esto.

¿Qué es un ensamblador?

Assembler es un software o una herramienta que traduce el lenguaje ensamblador a código de máquina. Entonces, un ensamblador es un tipo de compilador y el código fuente está escrito en lenguaje ensamblador. El ensamblado es un lenguaje legible por humanos, pero normalmente tiene una relación de uno a uno con el código de máquina correspondiente. Por lo tanto, se dice que un ensamblador realiza una traducción isomórfica (asignación uno a uno). Los ensambladores avanzados brindan funciones adicionales que respaldan el desarrollo de programas y los procesos de depuración. Por ejemplo, el tipo de ensambladores denominados ensambladores de macros proporciona una función de macros.

¿Cuál es la diferencia entre un ensamblador y un compilador?

El compilador es un programa de computadora que lee un programa escrito en un idioma y lo traduce a otro idioma, mientras que un ensamblador puede considerarse un tipo especial de compilador que traduce solo el lenguaje ensamblador a código de máquina. Los compiladores generalmente producen el código ejecutable de la máquina directamente desde un lenguaje de alto nivel, pero los ensambladores producen un código objeto que podría tener que vincularse mediante programas de vinculación para poder ejecutarse en una máquina. Debido a que el lenguaje ensamblador tiene un mapeo uno a uno con el código de máquina, se puede usar un ensamblador para producir código que se ejecuta de manera muy eficiente para ocasiones en las que el rendimiento es muy importante (por ejemplo, motores gráficos, sistemas integrados con recursos de hardware limitados en comparación con una computadora personal como microondas, lavadoras, etc.).

Recomendado: