基本上,有沒有?彙編語言的設計模式
我很想去想它們確實存在。例如,可以實現爲一系列「跳轉」,其中跳轉的目標是「外部」指定的。辛格爾頓將只是一個知名的內存/代碼位置等。
我絕不是一個裝配專家,所以這些例子可能會變成完全不可能的,但仍然是。
基本上,有沒有?彙編語言的設計模式
我很想去想它們確實存在。例如,可以實現爲一系列「跳轉」,其中跳轉的目標是「外部」指定的。辛格爾頓將只是一個知名的內存/代碼位置等。
我絕不是一個裝配專家,所以這些例子可能會變成完全不可能的,但仍然是。
彙編語言比設計模式更關注「技巧」。雖然高層次的設計模式仍然可以考慮併發揮作用,但大多數組裝人員更關心時鐘週期和利用指令技巧。
例如,在x86中,執行xor eax, eax
的速度比執行mov eax, 0
的速度快。
我所做的一點(感謝downvotes!)是,使用匯編語言,您希望更多地關注比您大設計圖片更小的細節。就像你不會專注於高級語言的執行速度的細節一樣。
適用於面向對象的設計模式:
通常人們實現更高層次的語言結構,如繼承多態性,並以此作爲構建塊來實現設計模式的意圖。但是,也許爲平臺找到一個c或C++編譯器並使用設計模式沒有實現基本oo功能的麻煩更容易。
設計模式不是特定於面向對象的,順便說一句。 – 2010-02-02 09:42:21
Google上的第一個定義:「設計模式是軟件設計中常見問題的通用可重用解決方案」。
按照這個標準我會說他們絕對存在。
第一個想到的就是跳轉表。
x86上沒有「clr eax」這樣的東西。也許你想說「mov eax,0」? – PhiS 2010-02-02 13:32:04
非常感謝菲爾,我一直在摔金屬。 – 2010-02-02 14:30:30