跳至內容

PowerPC 組合語言/簡介

來自華夏公益教科書,開放的書籍,開放的世界

為什麼要學習組合語言?

[編輯 | 編輯原始碼]

組合語言是程式設計師工具箱中最原始的工具。整個軟體專案可以在不檢視任何彙編程式碼的情況下編寫。所以問題出現了:為什麼要學習組合語言?組合語言是人類與計算機之間最接近的溝通方式。使用匯編語言,程式設計師可以精確地跟蹤程式中資料的流動和執行。此外,學習組合語言的另一個好處是,一旦程式被編譯,就很難(如果不是不可能)反編譯程式碼。這意味著如果您想檢查已經編譯的程式,您需要用匯編語言檢查它。偵錯程式也經常只會顯示程式程式碼的組合語言。如果沒有其他原因,學習閱讀組合語言,即使不編寫它,也是有好處的。

組合語言也是首選的工具,如果不是唯一可用的工具,用於實現一些底層任務,例如引導載入程式和底層核心元件。用匯編語言編寫的程式碼比用高階語言編寫的程式碼開銷更小,因此彙編程式碼通常比用其他語言編寫的程式執行速度更快。用高階語言編寫的程式碼可以編譯成組合語言,並進行“手動最佳化”,以從程式碼段中榨取最後一點速度。隨著英特爾和 AMD 等硬體製造商在其處理器中新增新功能和新指令,通常訪問這些功能的唯一方法是使用匯編例程。也就是說,至少在主要的編譯器供應商新增對這些功能的支援之前。

然而,用匯編語言開發程式可能是一個非常耗時的過程。雖然用匯編語言編寫新專案可能不是一個好主意,但瞭解一些組合語言肯定是有價值的。

這本書適合誰?

[編輯 | 編輯原始碼]

這本書適合那些第一次學習組合語言的人,或者希望最佳化他們特定的 PPC 程式碼的人,甚至那些希望瞭解更多關於 RISC 處理器的人。

華夏公益教科書