我一直在使用IL,我注意到像Prefix1这样的OpCodes,文档基本上告诉我不要担心它。当然,这让我非常好奇这些不同的前缀OpCodes到底是做什么的。在谷歌上快速搜索一下没有找到任何东西,所以我想我应该请教一下这里的专家。有人知道这些是什么意思吗?
发布于 2010-05-21 04:10:59
虽然大多数操作码都是单字节的,但当前使用的几个操作码包含2个字节。例如,Opcodes.LdLoc编码为0xfe + 0x0c。您可能会猜到Opcodes.Prefix1的值,它是ix0xfe。前缀2-7是为了将来的可扩展性。它们被标记为“不使用”,因为多字节操作码的值(字段m_s1和m_s2)中已经包含了前缀。
如果你对背景信息感兴趣,你会想看看Ecma-335 standard document。
发布于 2010-05-21 02:12:46
http://msdn.microsoft.com/en-us/library/812xyxy2(v=VS.95).aspx
至于Prefix1,它是您不应该使用的保留指令。也许它是为将来的某个版本保留的。
https://stackoverflow.com/questions/2876591
复制相似问题