3

私はILをいじってみましたが、Prefix1のようなOpCodeに気づきました。ドキュメントには、基本的にそれについて心配しないようにと書かれています。当然、これにより、これらのさまざまなプレフィックスOpCodeが実際に何をするのかについて非常に興味があります。グーグルで簡単に検索しても何も見つからなかったので、ここで専門家に聞いてみようと思いました。誰かがこれらが何を意味するのか知っていますか?

4

2 に答える 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 に答える