Heim > Artikel > Backend-Entwicklung > .NET Framework Intermediate Language IL-Anweisungssammlung
IL ist die Abkürzung für Intermediate Language im .NET Framework. Mit dem vom .NET-Framework bereitgestellten Compiler können Sie das Quellprogramm direkt in eine .exe- oder .dll-Datei kompilieren. Der kompilierte Programmcode ist jedoch derzeit kein Maschinencode, der direkt von der CPU ausgeführt werden kann, sondern ein IL-Code (Intermediate Language).
Name | Beschreibung |
Hinzufügen | Füge die beiden Werte hinzu und schiebe das Ergebnis auf auf dem Berechnungsstapel. |
Add.Ovf | Fügt zwei Ganzzahlen hinzu, führt eine Überlaufprüfung durch und legt das Ergebnis auf den Berechnungsstapel. |
Add.Ovf.Un | Fügt zwei vorzeichenlose Ganzzahlwerte hinzu, führt eine Überlaufprüfung durch und legt das Ergebnis auf den Auswertungsstapel. |
Und | Berechnet das bitweise UND zweier Werte und legt das Ergebnis auf den Auswertungsstapel. |
Arglist | Gibt einen nicht verwalteten Zeiger auf die Argumentliste der aktuellen Methode zurück. |
Beq | Wenn die beiden Werte gleich sind, übertragen Sie die Kontrolle an die Zielanweisung. |
Beq.S | Wenn die beiden Werte gleich sind, übertragen Sie die Kontrolle an die Zielanweisung (Kurzform). |
Bge | Wenn der erste Wert größer oder gleich dem zweiten Wert ist, übertragen Sie die Steuerung an die Zielanweisung. |
Bge.S | Wenn der erste Wert größer oder gleich dem zweiten Wert ist, übergeben Sie die Kontrolle an die Zielanweisung (Kurzform). |
Bge.Un | Wenn beim Vergleich von vorzeichenlosen Ganzzahlwerten oder unsortierbaren Gleitkommawerten der erste Wert größer als der zweite Wert ist, wird die Steuerung an übertragen die Zielanweisung. |
Bge.Un.S | Wenn beim Vergleich von vorzeichenlosen Ganzzahlwerten oder unsortierbaren Gleitkommawerten der erste Wert größer als der zweite Wert ist, wird die Kontrolle übertragen zur Zielanweisung (Kurzform). |
Bgt | Wenn der erste Wert größer als der zweite Wert ist, übertragen Sie die Kontrolle an die Zielanweisung. |
Bgt.S | Wenn der erste Wert größer als der zweite Wert ist, übergeben Sie die Kontrolle an die Zielanweisung (Kurzform). |
Bgt.Un | Wenn beim Vergleich von vorzeichenlosen Ganzzahlwerten oder unsortierbaren Gleitkommawerten der erste Wert größer als der zweite Wert ist, wird die Steuerung an übertragen die Zielanweisung. |
Bgt.Un.S | Wenn beim Vergleich von vorzeichenlosen Ganzzahlwerten oder unsortierbaren Gleitkommawerten der erste Wert größer als der zweite Wert ist, wird die Kontrolle übertragen zur Zielanweisung (Kurzform). |
Ble | Wenn der erste Wert kleiner oder gleich dem zweiten Wert ist, übertragen Sie die Steuerung an die Zielanweisung. |
Ble.S | Wenn der erste Wert kleiner oder gleich dem zweiten Wert ist, übertragen Sie die Kontrolle an die Zielanweisung (Kurzform). |
Ble.Un | Wenn beim Vergleich von vorzeichenlosen Ganzzahlwerten oder unsortierbaren Gleitkommawerten der erste Wert kleiner oder gleich dem zweiten Wert ist, dann steuern wird an die Zielanweisung übertragen. |
Ble.Un.S | Wenn beim Vergleich von vorzeichenlosen Ganzzahlwerten oder unsortierbaren Gleitkommawerten der erste Wert kleiner oder gleich dem zweiten Wert ist, dann wird die Kontrolle an die Zielanweisung (Kurzform) übergeben. |
Blt | Wenn der erste Wert kleiner als der zweite Wert ist, übertragen Sie die Steuerung an die Zielanweisung. |
Blt.S | Wenn der erste Wert kleiner als der zweite Wert ist, übergeben Sie die Kontrolle an die Zielanweisung (Kurzform). |
Blt.Un | Wenn beim Vergleich von vorzeichenlosen Ganzzahlwerten oder unsortierbaren Gleitkommawerten der erste Wert kleiner als der zweite Wert ist, wird die Steuerung an übertragen die Zielanweisung. |
Blt.Un.S | Wenn beim Vergleich von vorzeichenlosen Ganzzahlwerten oder unsortierbaren Gleitkommawerten der erste Wert kleiner als der zweite Wert ist, wird die Kontrolle übertragen zur Zielanweisung (Kurzform). |
Bne.Un | Wenn zwei vorzeichenlose Ganzzahlwerte oder unsortierbare Gleitkommawerte nicht gleich sind, übertragen Sie die Steuerung an die Zielanweisung. |
Bne.Un.S | Wenn zwei vorzeichenlose Ganzzahlwerte oder unsortierbare Gleitkommawerte nicht gleich sind, übertragen Sie die Steuerung an die Zielanweisung (kurz). Format). |
Box | Konvertiert eine Wertklasse in eine Objektreferenz (O-Typ). |
Br | Überträgt die Kontrolle bedingungslos an die Zielanweisung. |
Br.S | Übergibt die Kontrolle bedingungslos an die Zielanweisung (Kurzform). |
Break | Sendet ein Signal an das Common Language Construct (CLI), um den Debugger darüber zu informieren, dass ein Haltepunkt erreicht wurde. |
Brfalse | Wenn der Wert falsch ist, überträgt ein Nullverweis (Nothing in Visual Basic) oder Null die Steuerung an die Zielanweisung. |
Brfalse.S | Wenn der Wert falsch, eine Nullreferenz oder Null ist, wird die Steuerung an die Zielanweisung übertragen. |
Brtrue | Wenn der Wert wahr, ungleich Null oder ungleich Null ist, wird die Steuerung an die Zielanweisung übertragen. |
Brtrue.S | Wenn der Wert wahr, ungleich Null oder ungleich Null ist, übertragen Sie die Steuerung an die Zielanweisung (Kurzform). |
Call | ruft die Methode auf, die durch den übergebenen Methodenspezifizierer angegeben wird. |
Calli | Rufen Sie die auf dem Berechnungsstapel angegebene Methode (als Zeiger auf den Einstiegspunkt) mit den in der Aufrufkonvention beschriebenen Parametern auf. |
Callvirt | Ruft eine spät gebundene Methode für ein Objekt auf und legt den Rückgabewert auf den Berechnungsstapel. |
Castclass | Versuche, das als Referenz übergebene Objekt in die angegebene Klasse umzuwandeln. |
Ceq | Vergleicht zwei Werte. Wenn die beiden Werte gleich sind, wird der ganzzahlige Wert 1 (int32) auf den Auswertungsstapel geschoben, andernfalls wird 0 (int32) auf den Auswertungsstapel geschoben. |
Cgt | Vergleicht zwei Werte. Wenn der erste Wert größer als der zweite Wert ist, wird der ganzzahlige Wert 1 (int32) auf den Bewertungsstapel verschoben, andernfalls wird 0 (int32) auf den Bewertungsstapel verschoben. |
Cgt.Un | Vergleicht zwei vorzeichenlose oder unsortierbare Werte. Wenn der erste Wert größer als der zweite Wert ist, wird der ganzzahlige Wert 1 (int32) auf den Bewertungsstapel verschoben, andernfalls wird 0 (int32) auf den Bewertungsstapel verschoben. |
Ckfinite | Wirft eine ArithmeticException aus, wenn der Wert keine endliche Zahl ist. |
Clt | Vergleicht zwei Werte. Wenn der erste Wert kleiner als der zweite Wert ist, wird der ganzzahlige Wert 1 (int32) auf den Bewertungsstapel verschoben, andernfalls wird 0 (int32) auf den Bewertungsstapel verschoben. |
Clt.Un | Vergleicht die vorzeichenlosen oder unsortierbaren Werte value1 und value2. Wenn Wert1 kleiner als Wert2 ist, wird der ganzzahlige Wert 1 (int32) auf den Bewertungsstapel verschoben, andernfalls wird 0 (int32) auf den Bewertungsstapel verschoben. |
Eingeschränkt | Schränkt den Typ ein, für den virtuelle Methodenaufrufe durchgeführt werden sollen. |
Conv.I | Konvertiert den Wert oben im Berechnungsstapel in einen nativen int. |
Conv.I1 | Konvertiert den Wert oben im Berechnungsstapel in einen int8 und erweitert ihn dann auf einen int32 (füllt ihn auf). |
Conv.I2 | Konvertiert den Wert oben im Berechnungsstapel in einen int16 und erweitert ihn dann (auffüllen) auf einen int32. |
Conv.I4 | Konvertiert den Wert oben im Berechnungsstapel in einen int32. |
Conv.I8 | Konvertieren Sie den Wert oben im Berechnungsstapel in einen int64. |
Conv.Ovf.I | Konvertiert den vorzeichenbehafteten Wert oben im Auswertungsstapel in einen vorzeichenbehafteten nativen Int und löst bei Überlauf eine OverflowException aus. |
Conv.Ovf.I.Un | Konvertiert den vorzeichenlosen Wert oben im Auswertungsstapel in einen vorzeichenbehafteten nativen Int und löst bei Überlauf eine OverflowException aus. |
Conv.Ovf.I1 | Konvertiert den vorzeichenbehafteten Wert oben im Auswertungsstapel in einen vorzeichenbehafteten int8 und erweitert ihn auf einen int32, wobei bei Überlauf eine OverflowException ausgelöst wird . |
Conv.Ovf.I1.Un | Konvertiert den vorzeichenlosen Wert oben im Auswertungsstapel in einen vorzeichenbehafteten int8 und erweitert ihn auf einen int32 und bei Überlauf Löst eine OverflowException aus. |
Conv.Ovf.I2 | Konvertiert den vorzeichenbehafteten Wert oben im Auswertungsstapel in einen vorzeichenbehafteten int16 und erweitert ihn auf einen int32, wobei bei Überlauf eine OverflowException ausgelöst wird . |
Conv.Ovf.I2.Un | Konvertieren Sie den vorzeichenlosen Wert oben im Auswertungsstapel in einen vorzeichenbehafteten int16 und erweitern Sie ihn auf einen int32 und bei Überlauf Löst eine OverflowException aus. |
Conv.Ovf.I4 | Konvertiert den vorzeichenbehafteten Wert oben im Auswertungsstapel in einen vorzeichenbehafteten int32 und löst bei Überlauf eine OverflowException aus. |
Conv.Ovf.I4.Un | Konvertiert den vorzeichenlosen Wert oben im Auswertungsstapel in einen vorzeichenbehafteten int32 und löst bei Überlauf eine OverflowException aus. |
Conv.Ovf.I8 | Konvertiert den vorzeichenbehafteten Wert oben im Auswertungsstapel in einen vorzeichenbehafteten int64 und löst bei Überlauf eine OverflowException aus. |
Conv.Ovf.I8.Un | Konvertiert den vorzeichenlosen Wert oben im Auswertungsstapel in einen vorzeichenbehafteten int64 und löst bei Überlauf eine OverflowException aus. |
Conv.Ovf.U | Konvertiert den vorzeichenbehafteten Wert oben im Auswertungsstapel in einen vorzeichenlosen nativen int und löst bei Überlauf eine OverflowException aus. |
Conv.Ovf.U.Un | Konvertiert den vorzeichenlosen Wert oben im Auswertungsstapel in einen vorzeichenlosen nativen int und löst bei Überlauf eine OverflowException aus. |
Conv.Ovf.U1 | Konvertiert den vorzeichenbehafteten Wert oben im Auswertungsstapel in einen vorzeichenlosen int8 und erweitert ihn auf einen int32, wobei bei Überlauf eine OverflowException ausgelöst wird . |
Conv.Ovf.U1.Un | Konvertiert den vorzeichenlosen Wert oben im Auswertungsstapel in unsigned int8 und erweitert ihn auf int32, was bei Überlauf eine OverflowException auslöst. |
Conv.Ovf.U2 | Konvertiert den vorzeichenbehafteten Wert oben im Auswertungsstapel in einen vorzeichenlosen int16 und erweitert ihn auf einen int32, wobei bei Überlauf eine OverflowException ausgelöst wird . |
Conv.Ovf.U2.Un | Konvertiert den vorzeichenlosen Wert oben im Auswertungsstapel in einen vorzeichenlosen int16 und erweitert ihn auf einen int32, der bei Überlauf erhöht wird OverflowException. |
Conv.Ovf.U4 | Konvertiert den vorzeichenbehafteten Wert oben im Auswertungsstapel in einen vorzeichenlosen int32 und löst bei Überlauf eine OverflowException aus. |
Conv.Ovf.U4.Un | Konvertiert den vorzeichenlosen Wert oben im Auswertungsstapel in einen vorzeichenlosen int32 und löst bei Überlauf eine OverflowException aus. |
Conv.Ovf.U8 | Konvertiert den vorzeichenbehafteten Wert oben im Auswertungsstapel in unsigned int64 und löst bei Überlauf eine OverflowException aus. |
Conv.Ovf.U8.Un | Konvertiert den vorzeichenlosen Wert oben im Auswertungsstapel in unsigned int64 und löst bei Überlauf eine OverflowException aus. |
Conv.R.Un | Konvertiert den vorzeichenlosen ganzzahligen Wert oben im Auswertungsstapel in einen float32. |
Conv.R4 | Konvertiert den Wert oben im Berechnungsstapel in einen Float32. |
Conv.R8 | Konvertiert den Wert oben im Berechnungsstapel in float64. |
Conv.U | Konvertiert den Wert oben im Berechnungsstapel in einen vorzeichenlosen nativen int und erweitert ihn dann in einen nativen int. |
Conv.U1 | Konvertiert den Wert oben im Berechnungsstapel in einen vorzeichenlosen int8 und erweitert ihn dann auf einen int32. |
Conv.U2 | Konvertiert den Wert oben im Berechnungsstapel in einen vorzeichenlosen int16 und erweitert ihn dann auf einen int32. |
Conv.U4 | Konvertiert den Wert oben im Berechnungsstapel in einen vorzeichenlosen int32 und erweitert ihn dann in einen int32. |
Conv.U8 | Konvertiert den Wert oben im Berechnungsstapel in einen vorzeichenlosen int64-Wert und erweitert ihn dann in einen int64-Wert. |
Cpblk | Kopiert die angegebene Anzahl von Bytes von der Quelladresse zur Zieladresse. |
Cpobj | Kopiert den Werttyp an der Adresse des Objekts (&, * oder nativer int-Typ) an die Adresse des Zielobjekts (&, * oder nativer int-Typ). |
p | Dividiert zwei Werte und legt das Ergebnis als Float (Typ F) oder Quotient (Typ int32) auf den Auswertungsstapel. |
p.Un | Dividiert zwei vorzeichenlose Ganzzahlwerte und schiebt das Ergebnis ( int32 ) auf den Auswertungsstapel. |
Dup | Kopiert den aktuell obersten Wert auf dem Berechnungsstapel und verschiebt die Kopie dann auf den Berechnungsstapel. |
Endfilter | Überträgt die Kontrolle von der Filterklausel der Ausnahme zurück an den Ausnahmehandler des Common Language Construct (CLI). |
Endfinally | Überträgt die Kontrolle von der Fault- oder Final-Klausel des Ausnahmeblocks zurück an den Ausnahmehandler des Common Language Construct (CLI). |
Initblk | Initialisiert den angegebenen Speicherblock an einer bestimmten Adresse auf die angegebene Größe und den angegebenen Anfangswert. |
Initobj | Initialisiert jedes Feld des Werttyps an der angegebenen Adresse mit einer Nullreferenz oder 0 für den entsprechenden primitiven Typ. |
Isinst | Testet, ob eine Objektreferenz (vom Typ O) eine Instanz einer bestimmten Klasse ist. |
Jmp | Beenden Sie die aktuelle Methode und springen Sie zur angegebenen Methode. |
Ldarg | Ladet das Argument (referenziert durch den angegebenen Indexwert) auf den Stapel. |
Ldarg.0 | Ladet den Parameter mit Index 0 auf den Auswertungsstapel. |
Ldarg.1 | Ladet den Parameter mit Index 1 auf den Auswertungsstapel. |
Ldarg.2 | Ladet den Parameter mit Index 2 auf den Auswertungsstapel. |
Ldarg.3 | Ladet das Argument mit Index 3 auf den Auswertungsstapel. |
Ldarg.S | Ladet das Argument (referenziert durch den angegebenen Kurzindex) auf den Auswertungsstapel. |
Ldarga | Ladet die Parameteradresse auf den Berechnungsstapel. |
Ldarga.S | Ladet Parameteradressen im Kurzformat auf den Berechnungsstapel. |
Ldc.I4 | Schiebt den bereitgestellten Wert vom Typ int32 als int32 auf den Auswertungsstapel. |
Ldc.I4.0 | Schiebe den ganzzahligen Wert 0 als int32 auf den Berechnungsstapel. |
Ldc.I4.1 | Schieben Sie den ganzzahligen Wert 1 als int32 auf den Auswertungsstapel. |
Ldc.I4.2 | Schieben Sie den Ganzzahlwert 2 als int32 auf den Auswertungsstapel. |
Ldc.I4.3 | Schiebe den ganzzahligen Wert 3 als int32 auf den Auswertungsstapel. |
Ldc.I4.4 | Schieben Sie den ganzzahligen Wert 4 als int32 auf den Berechnungsstapel. |
Ldc.I4.5 | Schieben Sie den ganzzahligen Wert 5 als int32 auf den Berechnungsstapel. |
Ldc.I4.6 | Schieben Sie den ganzzahligen Wert 6 als int32 auf den Berechnungsstapel. |
Ldc.I4.7 | Schieben Sie den ganzzahligen Wert 7 als int32 auf den Berechnungsstapel. |
Ldc.I4.8 | Schieben Sie den ganzzahligen Wert 8 als int32 auf den Berechnungsstapel. |
Ldc.I4.M1 | Schieben Sie den ganzzahligen Wert -1 als int32 auf den Berechnungsstapel. |
Ldc.I4.S | Schieben Sie den bereitgestellten int8-Wert als int32 (Kurzform) auf den Berechnungsstapel. |
Ldc.I8 | Schiebt den bereitgestellten Wert vom Typ int64 als int64 auf den Auswertungsstapel. |
Ldc.R4 | Schiebt den bereitgestellten Wert vom Typ float32 als Typ F (float) auf den Auswertungsstapel. |
Ldc.R8 | Schiebt den bereitgestellten Wert vom Typ float64 als Typ F (float) auf den Auswertungsstapel. |
Ldelem | Lädt das Element am angegebenen Array-Index an die Spitze des Auswertungsstapels, entsprechend dem in der Direktive angegebenen Typ. |
Ldelem.I | Lädt das Element vom Typ native int am angegebenen Array-Index als natives int oben im Auswertungsstapel. |
Ldelem.I1 | Lädt das Element vom Typ int8 am angegebenen Array-Index als int32 oben im Auswertungsstapel. |
Ldelem.I2 | Lädt das Element vom Typ int16 am angegebenen Array-Index als int32 oben im Auswertungsstapel. |
Ldelem.I4 | Lädt das Element vom Typ int32 am angegebenen Array-Index als int32 oben im Auswertungsstapel. |
Ldelem.I8 | Lädt das Element vom Typ int64 am angegebenen Array-Index als int64 oben im Auswertungsstapel. |
Ldelem.R4 | Lädt das Element vom Typ float32 am angegebenen Array-Index oben auf dem Auswertungsstapel als Typ F (Float). |
Ldelem.R8 | Lädt das Element vom Typ float64 am angegebenen Array-Index oben auf dem Auswertungsstapel als Typ F (Float). |
Ldelem.Ref | Ladet das Element, das die Objektreferenz am angegebenen Array-Index enthält, als O-Typ (Objektreferenz) oben auf den Auswertungsstapel. |
Ldelem.U1 | Lädt das Element vom Typ unsigned int8 am angegebenen Array-Index als int32 oben im Auswertungsstapel. |
Ldelem.U2 | Lädt das Element vom Typ unsigned int16 am angegebenen Array-Index als int32 oben im Auswertungsstapel. |
Ldelem.U4 | Lädt das Element vom Typ unsigned int32 am angegebenen Array-Index als int32 oben im Auswertungsstapel. |
Ldelema | Lädt die Adresse des Array-Elements am angegebenen Array-Index als &-Typ (verwalteter Zeiger) oben auf den Auswertungsstapel. |
Ldfld | Findet den Wert des Feldes in dem Objekt, dessen Referenz sich derzeit auf dem Berechnungsstapel befindet. |
Ldflda | Findet die Adresse eines Feldes in einem Objekt, dessen Referenz sich derzeit auf dem Berechnungsstapel befindet. |
Ldftn | Schiebt einen nicht verwalteten Zeiger (vom Typ native int) auf nativen Code, der eine bestimmte Methode auf dem Auswertungsstapel implementiert. |
Ldind.I | Lädt einen Wert vom Typ native int indirekt als natives int auf den Berechnungsstapel. |
Ldind.I1 | Lädt einen Wert vom Typ int8 indirekt als int32 auf den Auswertungsstapel. |
Ldind.I2 | Lädt einen Wert vom Typ int16 indirekt als int32 auf den Auswertungsstapel. |
Ldind.I4 | Lädt einen Wert vom Typ int32 als int32-Indirektion auf den Auswertungsstapel. |
Ldind.I8 | Lädt einen Wert vom Typ int64 als int64-Indirektion auf den Auswertungsstapel. |
Ldind.R4 | Lädt einen float32-Wert indirekt als F-Typ (Float) auf den Berechnungsstapel. |
Ldind.R8 | Lädt einen float64-Wert indirekt als F-Typ (Float) auf den Berechnungsstapel. |
Ldind.Ref | Lädt eine Objektreferenz indirekt als O-Typ (Objektreferenz) auf den Auswertungsstapel. |
Ldind.U1 | Lädt einen Wert vom Typ unsigned int8 indirekt als int32 auf den Auswertungsstapel. |
Ldind.U2 | Lädt einen Wert vom Typ unsigned int16 indirekt als int32 auf den Auswertungsstapel. |
Ldind.U4 | Lädt einen Wert vom Typ unsigned int32 indirekt als int32 auf den Auswertungsstapel. |
Ldlen | Schieben Sie die Anzahl der Elemente eines nullbasierten, eindimensionalen Arrays auf den Auswertungsstapel. |
Ldloc | Lädt die lokale Variable am angegebenen Index auf den Auswertungsstapel. |
Ldloc.0 | Lädt die lokale Variable am Index 0 auf den Auswertungsstapel. |
Ldloc.1 | Lädt die lokale Variable am Index 1 auf den Auswertungsstapel. |
Ldloc.2 | Lädt die lokale Variable am Index 2 auf den Auswertungsstapel. |
Ldloc.3 | Lädt die lokale Variable am Index 3 auf den Auswertungsstapel. |
Ldloc.S | Lädt eine lokale Variable an einem bestimmten Index auf den Auswertungsstapel (Kurzform). |
Ldloca | Lädt die Adresse einer lokalen Variablen, die sich an einem bestimmten Index befindet, auf den Auswertungsstapel. |
Ldloca.S | Lädt die Adresse einer lokalen Variablen, die sich an einem bestimmten Index befindet, auf den Auswertungsstapel (Kurzform). |
Ldnull | Schieben Sie eine Nullreferenz (vom Typ O) auf den Auswertungsstapel. |
Ldobj | Kopiert das Werttypobjekt, auf das die Adresse zeigt, an die Spitze des Auswertungsstapels. |
Ldsfld | Schieben Sie den Wert des statischen Felds auf den Berechnungsstapel. |
Ldsflda | Schieben Sie die Adresse des statischen Felds auf den Berechnungsstapel. |
Ldstr | Schiebt eine neue Objektreferenz auf die in den Metadaten gespeicherte Zeichenfolge. |
Ldtoken | Konvertiert ein Metadaten-Token in seine Laufzeitdarstellung und verschiebt es auf den Rechenstapel. |
Ldvirtftn | Schiebt einen nicht verwalteten Zeiger (vom Typ native int) auf den Auswertungsstapel, der auf nativen Code zeigt, der die spezifische virtuelle Methode implementiert, die dem angegebenen Objekt zugeordnet ist. |
Verlassen | Verlässt einen geschützten Codebereich und überträgt die Kontrolle bedingungslos an eine bestimmte Zielanweisung. |
Leave.S | Verlässt den geschützten Codebereich und überträgt die Kontrolle bedingungslos an die Zielanweisung (Kurzform). |
Localloc | Ordnet eine bestimmte Anzahl von Bytes aus dem lokalen dynamischen Speicherpool zu und schiebt die Adresse des ersten zugewiesenen Bytes (Transientenzeiger, *-Typ) in die Berechnung ein Stapel. |
Mkrefany | Schiebt einen typisierten Verweis auf eine Instanz eines bestimmten Typs auf den Auswertungsstapel. |
Mul | Multiplizieren Sie zwei Werte und schieben Sie das Ergebnis auf den Berechnungsstapel. |
Mul.Ovf | Multiplizieren Sie zwei ganzzahlige Werte, führen Sie eine Überlaufprüfung durch und verschieben Sie das Ergebnis auf den Berechnungsstapel. |
Mul.Ovf.Un | Multiplizieren Sie zwei vorzeichenlose Ganzzahlwerte, führen Sie eine Überlaufprüfung durch und verschieben Sie das Ergebnis auf den Auswertungsstapel. |
Neg | Führt die Negation eines Werts durch und legt das Ergebnis auf den Berechnungsstapel. |
Newarr | Schieben Sie eine Objektreferenz auf ein neues nullbasiertes eindimensionales Array, dessen Elemente von einem bestimmten Typ sind, auf den Auswertungsstapel. |
Newobj | Erstellt ein neues Objekt oder eine neue Instanz eines Werttyps und schiebt die Objektreferenz (vom Typ O) auf den Berechnungsstapel. |
Nein | Paps Platz, wenn Opcode gepatcht ist. Obwohl Verarbeitungszyklen in Anspruch genommen werden können, wird kein sinnvoller Vorgang ausgeführt. |
Nicht | Berechnet das bitweise Komplement des ganzzahligen Werts oben im Stapel und legt das Ergebnis als denselben Typ auf dem Auswertungsstapel ab. |
Oder | Berechnet das bitweise Komplement der beiden ganzzahligen Werte oben im Stapel und legt das Ergebnis auf den Auswertungsstapel. |
Pop | Entfernt den Wert, der sich derzeit ganz oben im Berechnungsstapel befindet. |
Präfix1 | Infrastruktur. Dieser Befehl ist reserviert. |
Präfix2 | Infrastruktur. Dieser Befehl ist reserviert. |
Präfix3 | Infrastruktur. Dieser Befehl ist reserviert. |
Präfix4 | Infrastruktur. Dieser Befehl ist reserviert. |
Präfix5 | Infrastruktur. Dieser Befehl ist reserviert. |
Präfix6 | Infrastruktur. Dieser Befehl ist reserviert. |
Präfix7 | Infrastruktur. Dieser Befehl ist reserviert. |
Präfixref | Infrastruktur. Dieser Befehl ist reserviert. |
Schreibgeschützt | Gibt an, dass der nachfolgende Array-Adressvorgang keine Typprüfung zur Laufzeit durchführt und einen verwalteten Zeiger mit eingeschränkter Veränderbarkeit zurückgibt. |
Refanytype | Ruft ein Typ-Tag ab, das in eine typisierte Referenz eingebettet ist. |
Refanyval | Ruft eine Adresse (und einen Typ) ab, die in eine typisierte Referenz eingebettet ist. |
Rem | Dividiert zwei Werte und schiebt den Rest auf den Berechnungsstapel. |
Rem.Un | Dividiert zwei vorzeichenlose Werte und schiebt den Rest auf den Auswertungsstapel. |
Ret | Kehrt von der aktuellen Methode zurück und schiebt den Rückgabewert (falls vorhanden) vom Berechnungsstapel des Aufrufers auf den Berechnungsstapel des Aufgerufenen. |
Erneut auslösen | Wirft die aktuelle Ausnahme erneut aus. |
Shl | Verschiebt den ganzzahligen Wert um die angegebene Anzahl von Stellen nach links (aufgefüllt mit Nullen) und legt das Ergebnis auf den Auswertungsstapel. |
Shr | Schiebt den ganzzahligen Wert (vorzeichenerhaltend) um die angegebene Anzahl von Stellen nach rechts und legt das Ergebnis auf den Auswertungsstapel. |
Shr.Un | Schiebt einen vorzeichenlosen ganzzahligen Wert um die angegebene Anzahl von Stellen nach rechts (aufgefüllt mit Nullen) und legt das Ergebnis auf den Auswertungsstapel. |
Sizeof | Schieben Sie die Größe (in Bytes) des bereitgestellten Werttyps auf den Berechnungsstapel. |
Starg | Speichert den Wert oben im Auswertungsstapel im Argumentslot am angegebenen Index. |
Starg.S | Speichert den Wert oben im Auswertungsstapel am angegebenen Index im Parameterslot (Kurzform). |
Stelem | Ersetzt das Array-Element am angegebenen Index durch den Wert aus dem Berechnungsstapel, dessen Typ in der Direktive angegeben ist. |
Stelem.I | Ersetzt das Array-Element am angegebenen Index durch den nativen int-Wert auf dem Berechnungsstapel. |
Stelem.I1 | Ersetzt das Array-Element am angegebenen Index durch den int8-Wert auf dem Berechnungsstapel. |
Stelem.I2 | Ersetzt das Array-Element am angegebenen Index durch den int16-Wert auf dem Berechnungsstapel. |
Stelem.I4 | Ersetzt das Array-Element am angegebenen Index durch den int32-Wert auf dem Berechnungsstapel. |
Stelem.I8 | Ersetzt das Array-Element am angegebenen Index durch den int64-Wert auf dem Berechnungsstapel. |
Stelem.R4 | Ersetzt das Array-Element am angegebenen Index durch einen float32-Wert auf dem Berechnungsstapel. |
Stelem.R8 | Ersetzt das Array-Element am angegebenen Index durch einen float64-Wert auf dem Berechnungsstapel. |
Stelem.Ref | Ersetzt das Array-Element am angegebenen Index durch den Objektreferenzwert (vom Typ O) auf dem Berechnungsstapel. |
Stfld | Ersetzt den in einem Feld einer Objektreferenz oder eines Zeigers gespeicherten Wert durch einen neuen Wert. |
Stind.I | Speichert einen Wert vom Typ native int an der angegebenen Adresse. |
Stind.I1 | Speichert einen Wert vom Typ int8 an der angegebenen Adresse. |
Stind.I2 | Speichert einen Wert vom Typ int16 an der angegebenen Adresse. |
Stind.I4 | Speichert einen Wert vom Typ int32 an der angegebenen Adresse. |
Stind.I8 | Speichert einen Wert vom Typ int64 an der angegebenen Adresse. |
Stind.R4 | Speichert einen Float32-Wert an der angegebenen Adresse. |
Stind.R8 | Speichert einen float64-Wert an der angegebenen Adresse. |
Stind.Ref | speichert den Objektreferenzwert an der angegebenen Adresse. |
Stloc | Fügt den aktuellen Wert von oben aus dem Auswertungsstapel ein und speichert ihn in einer Liste lokaler Variablen am angegebenen Index. |
Stloc.0 | Fügt den aktuellen Wert von oben aus dem Auswertungsstapel ein und speichert ihn in der lokalen Variablenliste bei Index 0. |
Stloc.1 | Fügt den aktuellen Wert von der Spitze des Auswertungsstapels ein und speichert ihn in der lokalen Variablenliste bei Index 1. |
Stloc.2 | Fügt den aktuellen Wert von der Spitze des Auswertungsstapels ein und speichert ihn in der lokalen Variablenliste bei Index 2. |
Stloc.3 | Fügt den aktuellen Wert von der Spitze des Auswertungsstapels ein und speichert ihn in der lokalen Variablenliste bei Index 3. |
Stloc.S | Fügt den aktuellen Wert von oben aus dem Berechnungsstapel ein und speichert ihn am Index in der lokalen Variablenliste (Kurzform). |
Stobj | Kopiert einen Wert des angegebenen Typs aus dem Auswertungsstapel in die bereitgestellte Speicheradresse. |
Stsfld | Ersetzt den Wert eines statischen Feldes durch den Wert aus dem Berechnungsstapel. |
Sub | Subtrahiert einen Wert von anderen Werten und legt das Ergebnis auf den Berechnungsstapel. |
Sub.Ovf | Subtrahiert einen ganzzahligen Wert von einem anderen Wert, führt eine Überlaufprüfung durch und legt das Ergebnis auf den Berechnungsstapel. |
Sub.Ovf.Un | Subtrahiert einen vorzeichenlosen ganzzahligen Wert von einem anderen Wert, führt eine Überlaufprüfung durch und legt das Ergebnis auf den Auswertungsstapel. |
Switch | implementiert die Sprungtabelle. |
Tailcall | Führen Sie die angehängte Methodenaufrufanweisung aus, um den Stapelrahmen der aktuellen Methode zu entfernen, bevor Sie die eigentliche Aufrufanweisung ausführen. |
Throw | Wirft das derzeit auf dem Auswertungsstapel befindliche Ausnahmeobjekt aus. |
Nicht ausgerichtet | Gibt an, dass die aktuell auf dem Auswertungsstapel befindliche Adresse möglicherweise nicht mit einem unmittelbar folgenden ldind, stind, ldfld, stfld, ldobj, stobj, initblk, oder cpblk-Anweisung Ausrichtung in natürlicher Größe. |
Unbox | Konvertiert die geschachtelte Darstellung eines Werttyps in seine entschachtelte Form. |
Unbox.Any | Konvertiert die geschachtelte Darstellung des in der Direktive angegebenen Typs in seine ungeschachtelte Form. |
Volatil | Gibt an, dass die Adresse, die sich derzeit ganz oben im Berechnungsstapel befindet, flüchtig sein kann und dass das Ergebnis des Lesens dieses Standorts oder dieses Vielfachen nicht zwischengespeichert werden kann Ein Lagerort kann nicht storniert werden. |
Xor | Berechnet das bitweise XOR der beiden Werte oben im Auswertungsstapel und legt das Ergebnis auf den Auswertungsstapel. |
Zusammenfassung
Dieser Artikel gibt Ihnen nur eine Zusammenfassung der IL-Anweisungen, ohne sie im Detail zu erklären. Ein altes Sprichwort besagt: Man muss einen Schluck Wasser trinken und den Weg Schritt für Schritt gehen. Wenn man einen zu großen Schritt macht, verliert man schnell die Beherrschung ist etwas kurz, es wird ein nächstes Kapitel geben. Im nächsten Artikel werde ich noch über einige grundlegende Anweisungen von IL schreiben. Ich werde mein eigenes Verständnis kombinieren und versuchen, den Text so einfach wie möglich zu schreiben, damit er für alle leichter verständlich ist.
Das Obige ist der Inhalt der .NET Framework Intermediate Language IL-Anweisungen. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!