2009-07-24 17 views
42

Me han enseñado que "ensamblar" es lo que usted escribe en sus archivos para que su "ensamblador" lo convierta en código binario."Ensamblaje" vs. "Ensamblador"

Pero veo estos dos términos combinados y combinados en varios trabajos. Incluso he escuchado que escribes "ensamblador", luego de lo cual un "ensamblador" lo hace ejecutable.

Dime, por favor, ¿cuáles son las palabras correctas para usar?

+8

ensamblar al ensamblador, es como c a gcc. –

+0

Posible duplicado: http://stackoverflow.com/questions/991009/why-do-programmers-confuse-the-term-assembler-with-assembly –

+0

No te olvides de los ensamblados .net, crean una "falla terminológica" más " – zxcat

Respuesta

12

El propósito del lenguaje es comunicarse.

si la gente dice cosas, y otras personas que entienden, que están utilizando los términos correctos.

Tenemos reglas para hacerlo más fácil de entender, pero en mi opinión, si dice lo que suena mejor para usted, y deja que otras personas digan lo que suena mejor para ellos, y todos entienden lo que todos quieren decir, entonces todo será color de rosa

Por si sirve de algo, yo prefiero escribir "montaje" y ensamblarlo con un "ensamblador". Creo que "ensamblador" debería ser la palabra del día algún día, y todos deberían tratar de usarlo con la mayor frecuencia posible.

+3

Esto es cierto en la mayoría de los casos, pero a veces se crea una situación en la que 2 personas hablan de lo mismo y no tienen idea. – smack0007

+5

+1 Usted acaba de ensamblar mi día ;-) – balpha

+1

@smack - Esto es posible, pero nunca he visto a nadie que estuviera genuinamente confundido acerca de la diferencia entre "lenguaje ensamblador" y "lenguaje ensamblador" - la mayoría de las personas que son lo suficientemente inteligentes saber qué es el lenguaje ensamblador son lo suficientemente inteligentes como para saber cuándo alguien lo llama con un nombre ligeramente diferente. –

6

El ensamblaje es una pieza de código/ejecutable que está en código ejecutable por máquina. Esto podría ser un obj, exe, dll, ... Es el resultado de una compilación.

El ensamblador es el "compilador" que compila el código en el código ejecutable de la máquina. Este código ha sido escrito en el idioma "Lenguaje de ensamblaje". El lenguaje ensamblador en inglés común a menudo se llama Assembler.

Assemblator parece ser una palabra creadora, que nace de la necesidad de reducir la confusión causada por missusing los otros términos o un término en un idioma extranjero (ver otras respuestas).

+2

En microsoft-land, eso puede ser cierto, pero mucho antes de que apareciera .NET, las personas usaban la palabra ensamblaje como abreviatura para "código ensamblador", es decir, el código fuente que proporciona como entrada a un ensamblador para generar un archivo que contiene código de máquina. – George

+0

@George Soy un viejo temporizador, comencé a programar en computadoras que casi llenaban las habitaciones, y este era el uso y la definición de las palabras. La gente comenzó a usarlos de manera descuidada muy pronto. –

+0

@Ralph Rickenbach Lo siento, no quise sonar condescendiente en mi comentario anterior. Así es como siempre escuché los términos utilizados hasta que llegó .NET y decidí usar la palabra "ensamblar" para significar algo diferente. – George

1

estoy adivinando el origen de estos términos se remonta al clásico Defintion diccionario de la asamblea: "un montaje de instrucciones de máquina para lograr un propósito", que es probablemente la forma en los pioneros de computación pensamiento de un pequeño grupo de máquina instrucciones. Luego, un "ensamblador" es un dispositivo que toma las instrucciones individuales de la máquina y las junta en un "ensamblaje".

3

Sinceramente, no sé si hay una terminología 'estándar' que diferencia adecuadamente todos estos conceptos. (Ejemplo: ¿Si digo "ASM" lo que estoy hablando)

puedo darle mis definiciones, si eso ayuda a cualquiera.

Código Máquina

Ésta es la salida compilada de un ensamblador o compilador.

Asamblea

Ésta es la forma legible por el hombre del código de máquina. (O, código de máquina como lo conocemos)

A veces utilizo el término ensamblaje en lugar de código de máquina porque implica que no voy a leer realmente el código de máquina, sino el ensamblaje.

lenguaje ensamblador

Esto se refiere a un idioma específico código de máquina tal como un conjunto x86.

ensamblador

Esta es una herramienta como MASM \ FASM utilizado para compilar el código fuente en código máquina.

lenguaje ensamblador

Este es el lenguaje utilizado por cualquier ensamblador dado.

Veo esto como algo diferente del lenguaje ensamblador porque los ensambladores pueden agregar su propio azúcar sintáctico que no existe en el lenguaje ensamblador subyacente. (Funciones de alto nivel, macros, etc.)