开发者

What do the IL Prefix OpCodes do?

开发者 https://www.devze.com 2022-12-30 20:48 出处:网络
I\'ve been playing around with IL and I noticed OpCodes like Prefix1, with documentation basically telling me not to wor开发者_如何学编程ry about it.Naturally, this makes me quite curious as to what t

I've been playing around with IL and I noticed OpCodes like Prefix1, with documentation basically telling me not to wor开发者_如何学编程ry about it. Naturally, this makes me quite curious as to what these various Prefix OpCodes actually do. A quick Google search didn't turn up anything, so I thought I'd ask the experts here. Does anybody know what these mean?


While most opcodes are a single byte, there are several opcodes in current use that contain 2 bytes. For example, Opcodes.LdLoc is encoded as 0xfe + 0x0c. You can probably guess the value of Opcodes.Prefix1, it ix 0xfe. Prefix2-7 are for future extensibility. They are marked as "do not use" because multi-byte opcodes already have the prefix included in their value (fields m_s1 and m_s2).

If you're interested in the background info, you'll want to take a look at the Ecma-335 standard document.


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

As for the Prefix1, it is a reserved instruction that you should not use. Maybe it is reserved for some future version.

0

精彩评论

暂无评论...
验证码 换一张
取 消