首頁>Club>
彙編是如何發展成C語言的,它們又是如何一一對應的?
10
回覆列表
  • 1 # 智匯元

    現在的計算機,除了量子計算機外,統稱“馮.諾伊曼結構計算機”。

    在計算機內部真正執行計算的,實際上是一些電路。透過電路的邏輯操作,來獲得我們需要的結果。

    最早期的計算機

    最早期的計算機,是透過手動設定不同電路的開關,來控制計算機內部電路的操作。類似用開關控制電燈。

    打孔帶

    人們很快發現,當要操作的電路越來越多,用人去控制開關不是明智的選擇。因此設計了打孔帶來控制計算機的操作。

    打孔帶上按距離有孔或者沒有孔。有孔代表開,沒有孔代表關。

    彙編和宏彙編

    當計算機工作越來越複雜的時候,製造打孔帶也變成了可怕的工作。沒有人能保證打100個孔一點也不錯。後面打孔帶被密度更高的磁帶代替,問題越發嚴重了。

    於是人們設計了助記符-組合語言,把電路指令真實的用途用字元和數字記錄下來。然後用翻譯程式(一開始是人)翻譯成計算機電路控制指令。

    當助記符也越來越複雜的時候,人們又發明了宏。可以替代一部分重複性的工作,使彙編(其實就是機器語言助記符)看起來更容易理解。

    高階語言,例如C

    組合語言當然比記憶操作幾百個電路開關順序,更容易記憶和理解。但它還是更容易被計算機理解,而不是被人理解。

    所以人們又發明了各種可以把人們想要真正完成的事情描述清楚的工具:高階語言。C語言就是其中的代表。

    C語言寫出的程式,可以被編譯程式轉換成組合語言,再轉換成操作計算機電路的操作。

    高階語言是面向任務的,人們可以不必再關係計算機內部的電路。而是著重於如何把計算任務描述清楚。

    不同的高階語言面向不同的任務,C語言是更為接近組合語言的高階語言(C語言可以直接書寫組合語言),還有類似COBOL這樣的更類似人類自然語言的高階語言。

    結語

    人們為了降低記憶成本,提高計算機使用效率,設計和發明了組合語言以及各種高階語言。人們也從直接操作計算機電路,進化到著重解決實際問題。

  • 中秋節和大豐收的關聯?
  • 買了一輛新車,第一件事先要做什麼?