2009-07-24 151 views
42

我已經被告知「彙編」就是你在你的文件中編寫的內容,讓你的「彙編器」將它轉換成二進制代碼。「彙編」與「彙編程序」

但我看到這兩個詞在各種作品中混合搭配。我甚至聽說你寫了「彙編程序」,之後一個「彙編程序」使它可執行。

請告訴我,什麼是正確的詞用?

+8

彙編到彙編器,就像c到gcc。 – 2009-07-24 07:51:48

+0

可能的重複:http://stackoverflow.com/questions/991009/why-do-programmers-confuse-the-term-assembler-with-assembly – 2009-07-24 14:50:00

+0

不要忘記.net程序集,它們會創建一個「術語錯誤「 – zxcat 2009-09-09 06:37:20

回答

12

語言的目的是溝通。

如果人們說出事情,而其他人理解他們,他們正在使用正確的條款。

我們有規則讓它更容易理解,但在我看來,如果你說出最適合你的東西,並讓其他人說出最適合他們的東西,並且你們都明白你的意思,那麼所有東西將桃色。

對於它的價值,我更喜歡編寫「彙編」,並將它與「彙編器」進行彙編。我認爲「集結器」應該是總有一天的話,每個人都應該儘可能多地嘗試。

+3

在大多數情況下都是如此,但有時會出現兩個人在談論同一事情並且他們沒有理念。 – smack0007 2009-07-24 07:10:23

+5

+1你只是集會批准我的一天;-) – balpha 2009-07-24 07:20:28

+1

@smack - 這是可能的,但我從來沒有見過任何真正困惑於「彙編語言」和「彙編語言」之間差異的人 - 大多數足夠聰明的人瞭解什麼時候彙編語言足夠聰明,以便在有人用稍微不同的名稱稱呼它時找出它。 – 2009-07-24 07:22:15

6

程序集是在機器可執行代碼中的一段代碼/可執行文件。這可能是一個obj,exe,dll,...這是編譯的結果。

彙編程序是將代碼編譯爲機器可執行代碼的「編譯器」。此代碼已用「彙編語言」的語言編寫。彙編語言通常稱爲彙編語言。

裝配工似乎是一個創造性的詞,出於必要性,減少由於錯用其他詞彙或外語詞彙引起的混淆(請參閱其他答案)。

+2

在microsoft-land中,這可能是真的,但在.NET推出之前很久,人們用「彙編代碼」這個單詞作爲短手 - 也就是說,您提供的源代碼作爲彙編程序的輸入來生成包含機器碼的文件。 – George 2010-07-23 02:30:22

+0

@George我是一個老朋友,開始在幾乎充滿房間的計算機上編程,這是單詞的使用和定義。人們很快就開始用馬虎的方式使用它們。 – 2010-07-23 04:46:10

+0

@Ralph Rickenbach對不起,我並不想在先前的評論中聽起來居高臨下。這就是我一直聽到直到.NET出現時才使用的術語,並決定使用「assembly」一詞來表示不同的意思。 – George 2010-07-23 11:24:34

1

我猜這些術語的起源可以追溯到裝配的經典字典定義:「一個裝配機器指令達到一個目的」這可能是計算機先驅們認爲一小羣機器說明。然後一個「彙編程序」是一個設備,它將單獨的機器指令集成到一個「程序集」中。

3

我真的不知道是否有一個「標準」術語可以區分所有這些概念。 (例如:如果我說「ASM」,我在說什麼?)

我可以給你我的定義,如果有幫助的話。

機器碼

這是一個彙編器或編譯的編譯後的輸出。

大會

這是機器代碼的人類可讀的形式。 (或機器代碼,因爲我們知道這一點。)

我有時使用術語組裝到位的機器代碼,因爲它意味着我不打算實際閱讀機器碼,而是組裝。

彙編語言

這是指一個特定的機器代碼語言,諸如x86彙編。

彙編

這就好比用於編譯源代碼轉換爲機器代碼MASM \ FASM的工具。

彙編語言

這是任何給定的彙編程序所使用的語言。

我認爲這是是從彙編語言不同,因爲裝配可以添加不底層彙編語言存在自己的語法糖。 (高級函數,宏等)。