組合語言

組合語言是一種低階程式設計語言,旨在與計算機硬體直接通訊。與機器語言不同,機器語言由二進位制和十六進位制字元組成,組合語言被設計為人類可讀。...

什麼是組合語言(an assembly language)?

組合語言是一種低階程式設計語言,旨在與計算機硬體直接通訊。與機器語言不同,機器語言由二進位制和十六進位制字元組成,組合語言被設計為人類可讀。

低階程式語言(如組合語言)是計算機底層硬體與高階程式語言(如編寫現代軟體程式的Python或JavaScript)之間的必要橋梁。

關鍵要點

  • 組合語言是一種將高階語言翻譯成機器語言的程式語言。
  • 它是軟體程式與其底層硬體平臺之間的必要橋梁。
  • 如今,組合語言很少直接編寫,儘管它們仍被用於某些特定的應用程式中,例如效能要求特別高的應用程式中。

組合語言的工作原理

基本上,計算機執行的最基本指令是二進位制程式碼,由1和0組成。這些程式碼被直接轉換成透過計算機物理電路的電流的“開”和“關”狀態。本質上,這些簡單的程式碼構成了“機器語言”的基礎,機器語言是程式語言最基本的變體。

當然,沒有人能夠透過顯式程式設計1和0來構造現代軟體程式。相反,人類程式設計師必須依賴於各種抽象層,這些抽象層允許自己以更直觀的格式表達自己的命令。具體來說,現代程式設計師用所謂的“高階語言”發出命令,這些語言使用直觀的語法,例如整個英語單詞和句子,以及日常使用中熟悉的邏輯運算子,例如“and”、“Or”和“Else”。

然而,最終這些高階命令需要翻譯成機器語言。程式設計師不是手工操作,而是依賴於組合語言,組合語言的目的是在這些高階語言和低階語言之間自動轉換。第一批組合語言是在20世紀40年代開發的,儘管現代程式設計師很少花時間處理組合語言,但它們對計算機的整體功能仍然是必不可少的。

組合語言的真實世界示例

今天,組合語言仍然是電腦科學學生學習的主題,目的是幫助他們理解現代軟體與其底層硬體平臺的關係。在某些情況下,程式設計師必須繼續使用組合語言進行編寫,例如當效能要求特別高時,或者當所討論的硬體與任何當前的高階語言不相容時。

其中一個與金融相關的例子是一些金融公司使用的高頻交易(HFT)平臺。在這個市場上,交易的速度和準確性對於HFT交易策略的盈利至關重要。因此,為了在競爭中取得優勢,一些HFT公司直接用組合語言編寫交易軟體,因此不必等待高階語言的命令被翻譯成機器語言。

  • 發表於 2021-06-01 21:53
  • 閱讀 ( 15 )
  • 分類:金融

你可能感興趣的文章

語素(morpheme)和音位(phoneme)的區別

...意義,但音素卻沒有。它只是一個聲音單元。只有音素的組合才能創造出一個語素或單詞,從而傳達一個意思。本文試圖在闡述這兩個術語的差異的同時,闡述讀者對這兩個術語的理解。 什麼是詞素(a morpheme)? 語素是語言中最...

  • 發佈於 2020-10-23 00:20
  • 閲讀 ( 38 )

高階語言(high level language)和低階語言(low level language)的區別

...依賴於機器,不可移植。最常見的低階語言是機器語言和組合語言。 機器語言是最接近硬體的語言。CPU直接執行這些指令。機器語言由零和一組成。機器語言程式依賴於機器。組合語言比機器語言領先一步。程式設計師應該對...

  • 發佈於 2020-10-23 20:12
  • 閲讀 ( 87 )

指標(pointer)和參考(reference)的區別

...致程式崩潰。 指標在語言中支援,如C、C++、Pascal和許多組合語言。 指向與變數b關聯的記憶體地址的指標a。 什麼是參考文獻(a reference)? 引用只是儲存在記憶體中的值的替代識別符號。它使程式能夠間接地訪問特定的資料。 c++...

  • 發佈於 2020-10-28 19:41
  • 閲讀 ( 50 )

為什麼c程式設計仍然值得學習

... 確實存在比C低級別的語言(例如組合語言),但C的級別和你想要的一樣低。它保留了較低級別語言的大部分功能和控制,但它的抽象程度只夠讓人可讀的程式碼,而不會讓你大吃一驚。 ...

  • 發佈於 2021-03-13 03:02
  • 閲讀 ( 58 )

c程式設計的特點,使其獨特(和更好)

... 在C語言開發之前,Unix作業系統是使用其組合語言為PDP-7計算機開發的。後來在這個平臺上構建了一個C編譯器,再次使用匯編語言。在這個時候,C被設計用來簡化Unix本身的開發。使用這個編譯器,Unix完全用C語...

  • 發佈於 2021-03-13 04:35
  • 閲讀 ( 50 )

為什麼有些程式語言比其他語言快?

...字(也稱為機器程式碼)。可以說,所有程式語言(包括組合語言,它將數字對映到可讀的字)都是為了使建立軟體更容易。 ...

  • 發佈於 2021-03-13 15:07
  • 閲讀 ( 48 )

程式設計師指標簡介

... 許多影片遊戲和高效能應用程式都有組合語言編寫的一些邏輯,因為如果您知道自己在做什麼,就可以發現一些真正的速度提升。但是,對於絕大多數程式設計專案,您根本不需要知道任何程式集。 ...

  • 發佈於 2021-03-15 04:42
  • 閲讀 ( 47 )

9個最好的程式碼遊戲,以建立你的程式設計技能

... “這是你從未要求的組合語言程式設計遊戲!”就在錫上說的。TIS-100是一款像其他遊戲一樣的影片遊戲,迫使你學習和使用模擬版本的低階彙編編碼來解決它的難題。這場遊戲不是笑話,它...

  • 發佈於 2021-03-17 21:19
  • 閲讀 ( 42 )

電腦科學家弗朗西斯艾倫,以其在編譯方面的工作而聞名,享年88歲

...阻力,”她說。“他們確信沒有一種更高層次的語言能像組合語言那樣出色。”但她後來說,這項工作激發了她對編譯的興趣,“因為它的組織方式直接繼承了現代編譯器的傳統。” 艾倫幫助為IBM的高階計算系統構建了一個實...

  • 發佈於 2021-04-18 05:12
  • 閲讀 ( 51 )

github增加了對“minecraft”創作者notch的新遊戲“0x10c”的支援

...航。現在,開原始碼庫GitHub已經宣佈,它已經將對DCPU-16組合語言(用於向CPU傳送指令的程式碼)的支援新增到了它的站點上,允許使用者共享程式碼片段並編寫使用這些檔案的其他軟體。 這種吸引力是顯而易見的,G...

  • 發佈於 2021-04-21 23:16
  • 閲讀 ( 32 )
yie140
yie140

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦