OpCodes.Ldind_U1 Feld
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Lädt einen Wert vom Typ unsigned int8
indirekt als int32
in den Auswertungsstapel.
public: static initonly System::Reflection::Emit::OpCode Ldind_U1;
public static readonly System.Reflection.Emit.OpCode Ldind_U1;
staticval mutable Ldind_U1 : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldind_U1 As OpCode
Feldwert
Hinweise
In der folgenden Tabelle sind das Hexadezimal- und MSIL-Assemblyformat (Microsoft Intermediate Language) der Anweisung sowie eine kurze Referenzzusammenfassung aufgeführt:
Format | Assemblyformat | BESCHREIBUNG |
---|---|---|
47 | ldind.u1 | Lädt den unsigned int8 Wert an der Adresse addr als int32 in den Stapel. |
Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:
Eine Adresse wird in den Stapel gepusht.
Die Adresse wird aus dem Stapel geknallt; Der Wert, der sich an der Adresse befindet, wird abgerufen.
Der abgerufene Wert wird auf den Stapel gepusht.
Die ldind.u1
-Anweisung lädt indirekt einen unsigned int8
Wert aus der angegebenen Adresse (vom Typ &
native int
, oder *) in den Stapel als int32
.
ldind
Alle Anweisungen sind Tastenkombinationen für eine Ldobj Anweisung, die die entsprechende integrierte Wertklasse angibt.
Beachten Sie, dass ganzzahlige Werte von weniger als 4 Bytes auf int32
(nicht native int
) erweitert werden, wenn sie in den Auswertungsstapel geladen werden. Gleitkommawerte werden in den F
Typ konvertiert, wenn sie in den Auswertungsstapel geladen werden.
Die korrekt formatierte Microsoft Intermediate Language (MSIL) stellt sicher, dass die ldind
Anweisungen in einer Weise verwendet werden, die mit dem Typ des Zeigers übereinstimmt.
Die anfänglich auf den Stapel gepushte Adresse muss an der natürlichen Größe von Objekten auf dem Computer ausgerichtet werden, oder es kann eine NullReferenceException auftreten (informationen zu vorbeugenden Maßnahmen finden Sie in der Unaligned Präfixanweisung). Die Ergebnisse aller MSIL-Anweisungen, die Adressen zurückgeben (z. B Ldloca . und Ldarga), sind sicher ausgerichtet. Bei Datentypen, die größer als 1 Byte sind, hängt die Bytereihenfolge von der Ziel-CPU ab. Code, der von der Bytereihenfolge abhängt, wird möglicherweise nicht auf allen Plattformen ausgeführt.
NullReferenceException kann ausgelöst werden, wenn eine ungültige Adresse erkannt wird.
Die folgende Emit Methodenüberladung kann den ldind.u1
Opcode verwenden: