Ich habe herumgespielt mit IL und ich bemerkte OpCodes wie Vorwahl1 und die Unterlagen sagen mir, dass ich mir keine Sorgen machen soll. Das macht mich natürlich sehr neugierig, was diese verschiedenen Präfix-OpCodes eigentlich bewirken. Eine schnelle Google-Suche hat nichts ergeben, also dachte ich, ich frage mal die Experten hier. Weiß jemand, was diese Codes bedeuten?
Antworten
Zu viele Anzeigen?Während die meisten Opcodes aus einem einzigen Byte bestehen, gibt es einige der derzeit verwendeten Opcodes, die 2 Bytes enthalten. Zum Beispiel ist Opcodes.LdLoc als 0xfe + 0x0c kodiert. Sie können wahrscheinlich den Wert von Opcodes.Prefix1 erraten, er lautet 0xfe. Prefix2-7 sind für zukünftige Erweiterungen gedacht. Sie sind als "nicht verwenden" gekennzeichnet, da bei Multi-Byte-Opcodes das Präfix bereits in ihrem Wert enthalten ist (Felder m_s1 und m_s2).
Wenn Sie an den Hintergrundinformationen interessiert sind, sollten Sie einen Blick auf die Ecma-335 Standarddokument .
http://msdn.microsoft.com/en-us/library/812xyxy2(v=VS.95).aspx
Bei Prefix1 handelt es sich um einen reservierten Befehl, den Sie nicht verwenden sollten. Vielleicht ist sie für eine zukünftige Version reserviert.