深入理解計算機系統 ——第三章 程序的機器級表示

### 這一章主要是介紹高級語言,例如C語言編寫的程序,經過編譯後轉換爲彙編程序。以往在程序員對機器進行操作主要都是使用彙編語言。筆者在大學做單片機開發的時候,老師制訂的實驗,明確要求使用彙編語言。
彙編語言的使用和掌握能夠很好地幫助程序員對系統資源進行把控,同時也要求了程序編寫邏輯的儘量地靠近機器的思考,對於程序員打下良好的編程基礎具有很好地學習作用。
在這一章裏面,由於時代的進步,目前開源社區或者廠商已經提供了能夠很好地對高級語言進行優化的編譯器GCC,這樣即使是邏輯更爲抽象的高級語言開發的程序也能夠很好地轉換爲性能良好的彙編程序,更何況,抽象化程度更高的高級語言對於開發複雜的程序更有效率。因此目前對於程序員的要求已經從能夠寫彙編程序到能夠讀懂彙編程序。
那麼爲什麼要會讀會彙編程序呢?

    1.同一個程序,使用不同的GCC,會產生不同的彙編程序,同一個GCC,相同功能的一個程序,不同寫法會產生不同的彙編程序,程序性能的優化,單純從高級語言上很難做出優化,這時候就需要對程序編譯後產生的彙編程序進行解讀和重構。
    2.在程序編寫過程中,很多錯誤是存在在

##彙編指令

發佈了18 篇原創文章 · 獲贊 73 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章