IL Prefix OpCodes有什么作用?

时间:2010-05-20 18:11:10

标签: .net il opcodes

我一直在玩IL,我注意到像Prefix1这样的OpCodes,文档基本上告诉我不要担心它。当然,这让我很好奇这些各种前缀操作码实际上做了什么。一个快速的谷歌搜索没有发现任何东西,所以我想我会问这里的专家。有人知道这些是什么意思吗?

2 个答案:

答案 0 :(得分:5)

虽然大多数操作码是单字节,但当前使用的几个操作码包含2个字节。例如,Opcodes.LdLoc编码为0xfe + 0x0c。您可以猜测Opcodes.Prefix1的值,它是ix 0xfe。 Prefix2-7用于将来的可扩展性。它们被标记为“不使用”,因为多字节操作码的值已包含在前面(字段m_s1和m_s2)。

如果您对背景信息感兴趣,可以查看Ecma-335 standard document

答案 1 :(得分:1)

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

对于Prefix1,它是一个不应该使用的保留指令。也许它是为未来版本保留的。