我一直在玩IL,我注意到了像Prefix1这样的OpCodes,文档基本上告诉我不要担心它。当然,这让我非常好奇这些各种前缀操作码实际上做了什么。 Google的快速搜索没有任何结果,所以我想我会问这里的专家。有人知道这是什么意思吗?IL Prefix OpCodes做什么?
3
A
回答
5
虽然大多数操作码都是单个字节,但当前使用的操作码有几个包含2个字节的操作码。例如,Opcodes.LdLoc被编码为0xfe + 0x0c。您大概可以猜到Opcodes.Prefix1的值,它是ix 0xfe。前缀2-7用于将来的扩展性。它们被标记为“不要使用”,因为多字节操作码已在其值(字段m_s1和m_s2)中包含前缀。
如果你对背景信息感兴趣,你可以看看Ecma-335 standard document。
1
http://msdn.microsoft.com/en-us/library/812xyxy2(v=VS.95).aspx
至于Prefix1,它是保留指令,你不应该使用。也许它是为未来版本保留的。
+1
我欣赏方便的链接,但这实际上是我在我的问题中链接到的。 :)我只是过分好奇,希望有人可以洞察这些神秘的指示。 – 2010-05-20 18:29:07
相关问题
- 1. IL - 我做错了什么?
- 2. Editor方法中形状的“Prefix”部分是做什么的?
- 3. javascript:为什么以“sign-prefix”为变量?
- 4. initializer_list做什么?
- 5. 在CLR 4.0中引入了哪些OpCodes?
- 6. 方法的最后一条指令的可能OpCodes是什么?
- 7. IL知道INTERFACE是什么吗?
- 8. CIL和MSIL(IL)有什么区别?
- 9. 什么是string.indexOf(“*。”)在Javascript中做什么?
- 10. WPF能做什么和不做什么?
- 11. 在Perl中做什么=〜做什么?
- 12. 什么“?”做?什么是__FILE__?
- 13. 什么是setDetailItem:做什么?
- 14. socket.IPPROTO_TCP做什么?
- 15. assert_ok做什么?
- 16. .call做什么?
- 17. || =做什么?
- 18. for_write_seq_lis做什么?
- 19. addScalar做什么?
- 20. BOOST_PP_AUTO_REC做什么?
- 21. !! some_object做什么?
- 22. MailMessage.IsBodyHtml做什么?
- 23. Q_REQUIRED_RESULT做什么?
- 24. scroll.scrolldisabler做什么?
- 25. mod_pagespeed做什么?
- 26. FormsAuthentication.SetAuthCookie做什么
- 27. `!: - `做什么?
- 28. failwithf做什么?
- 29. TabPage.Hide()做什么?
- 30. CCriticalSection做什么?
很酷,谢谢。我必须查看标准文档。 – 2010-05-20 20:39:27