私はILをいじってみましたが、Prefix1のようなOpCodeに気づきました。ドキュメントには、基本的にそれについて心配しないようにと書かれています。当然、これにより、これらのさまざまなプレフィックスOpCodeが実際に何をするのかについて非常に興味があります。グーグルで簡単に検索しても何も見つからなかったので、ここで専門家に聞いてみようと思いました。誰かがこれらが何を意味するのか知っていますか?
2 に答える
5
ほとんどのオペコードは1バイトですが、現在使用されている2バイトのオペコードがいくつかあります。たとえば、Opcodes.LdLocは0xfe+0x0cとしてエンコードされます。あなたはおそらくOpcodes.Prefix1、それはix0xfeの値を推測することができます。Prefix2-7は、将来の拡張性のためのものです。マルチバイトオペコードの値(フィールドm_s1およびm_s2)にはすでにプレフィックスが含まれているため、これらは「使用しない」とマークされています。
背景情報に興味がある場合は、Ecma-335標準ドキュメントを参照してください。
于 2010-05-20T20:10:58.747 に答える
1
http://msdn.microsoft.com/en-us/library/812xyxy2(v=VS.95).aspx
Prefix1に関しては、使用してはならない予約済みの命令です。多分それはいくつかの将来のバージョンのために予約されています。
于 2010-05-20T18:12:46.280 に答える