2010-02-02 170 views
2

基本上,有沒有?彙編語言的設計模式

我很想去想它們確實存在。例如,​​可以實現爲一系列「跳轉」,其中跳轉的目標是「外部」指定的。辛格爾頓將只是一個知名的內存/代碼位置等。

我絕不是一個裝配專家,所以這些例子可能會變成完全不可能的,但仍然是。

回答

12

彙編語言比設計模式更關注「技巧」。雖然高層次的設計模式仍然可以考慮併發揮作用,但大多數組裝人員更關心時鐘週期和利用指令技巧。

例如,在x86中,執行xor eax, eax的速度比執行mov eax, 0的速度快。

我所做的一點(感謝downvotes!)是,使用匯編語言,您希望更多地關注比您大設計圖片更小的細節。就像你不會專注於高級語言的執行速度的細節一樣。

+1

x86上沒有「clr eax」這樣的東西。也許你想說「mov eax,0」? – PhiS 2010-02-02 13:32:04

+1

非常感謝菲爾,我一直在摔金屬。 – 2010-02-02 14:30:30

1

適用於面向對象的設計模式:

通常人們實現更高層次的語言結構,如繼承多態性,並以此作爲構建塊來實現設計模式的意圖。但是,也許爲平臺找到一個c或C++編譯器並使用設計模式沒有實現基本oo功能的麻煩更容易。

+1

設計模式不是特定於面向對象的,順便說一句。 – 2010-02-02 09:42:21

5

Google上的第一個定義:「設計模式是軟件設計中常見問題的通用可重用解決方案」。

按照這個標準我會說他們絕對存在。

第一個想到的就是跳轉表。