OpCodes.Ldind_R8 Campo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Carica indirettamente un valore di tipo float64
come un tipo F
(float) nello stack di valutazione.
public: static initonly System::Reflection::Emit::OpCode Ldind_R8;
public static readonly System.Reflection.Emit.OpCode Ldind_R8;
staticval mutable Ldind_R8 : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldind_R8 As OpCode
Valore del campo
Commenti
La tabella seguente elenca il formato di assembly Esadecimale e MSIL (Microsoft Intermediate Language), insieme a un breve riepilogo dei riferimenti:
Formato | Formato assembly | Descrizione |
---|---|---|
4F | ldind.r8 | Carica il float64 valore in corrispondenza dell'indirizzo addr nello stack come tipo F . |
Il comportamento di transizione dello stack, in ordine sequenziale, è:
Un indirizzo viene inserito nello stack.
L'indirizzo viene estratto dallo stack; il valore che si trova nell'indirizzo viene recuperato.
Il valore recuperato viene inserito nello stack.
L'istruzione ldind.r8
carica indirettamente un float64
valore dall'indirizzo specificato (di tipo native int
, &
o *) nello stack come .float64
Tutte le ldind
istruzioni sono collegamenti per un'istruzione Ldobj che specifica la classe di valori predefinita corrispondente.
Si noti che i valori interi inferiori a 4 byte vengono estesi a int32
(non native int
) quando vengono caricati nello stack di valutazione. I valori a virgola mobile vengono convertiti in F
tipo quando vengono caricati nello stack di valutazione.
Il formato corretto di Microsoft Intermediate Language (MSIL) garantisce che le ldind
istruzioni vengano usate in modo coerente con il tipo di puntatore.
L'indirizzo inizialmente inserito nello stack deve essere allineato alle dimensioni naturali degli oggetti nel computer oppure può verificarsi Unaligned un'istruzione NullReferenceException di prefisso per le misure preventive. I risultati di tutte le istruzioni MSIL che restituiscono indirizzi (ad esempio, Ldloca e Ldarga) sono allineati in modo sicuro. Per i tipi di dati maggiori di 1 byte, l'ordinamento dei byte dipende dalla CPU di destinazione. Il codice che dipende dall'ordinamento dei byte potrebbe non essere eseguito in tutte le piattaforme.
NullReferenceException può essere generata se viene rilevato un indirizzo non valido.
L'overload del metodo seguente Emit può usare il ldind.r8
codice operativo: