2010-05-20 70 views
3

我一直在玩IL,我注意到了像Prefix1這樣的OpCodes,文檔基本上告訴我不要擔心它。當然,這讓我非常好奇這些各種前綴操作碼實際上做了什麼。 Google的快速搜索沒有任何結果,所以我想我會問這裏的專家。有人知道這是什麼意思嗎?IL Prefix OpCodes做什麼?

回答

5

雖然大多數操作碼都是單個字節,但當前使用的操作碼有幾個包含2個字節的操作碼。例如,Opcodes.LdLoc被編碼爲0xfe + 0x0c。您大概可以猜到Opcodes.Prefix1的值,它是ix 0xfe。前綴2-7用於將來的擴展性。它們被標記爲「不要使用」,因爲多字節操作碼已在其值(字段m_s1和m_s2)中包含前綴。

如果你對背景信息感興趣,你可以看看Ecma-335 standard document

+0

很酷,謝謝。我必須查看標準文檔。 – 2010-05-20 20:39:27

1

http://msdn.microsoft.com/en-us/library/812xyxy2(v=VS.95).aspx

至於Prefix1,它是保留指令,你不應該使用。也許它是爲未來版本保留的。

+1

我欣賞方便的鏈接,但這實際上是我在我的問題中鏈接到的。 :)我只是過分好奇,希望有人可以洞察這些神祕的指示。 – 2010-05-20 18:29:07