Compartilhar via


OpCodes.Ldind_R4 Campo

Definição

Carrega um valor do tipo float32 como um tipo F (float) para a pilha de avaliação indiretamente.

public: static initonly System::Reflection::Emit::OpCode Ldind_R4;
public static readonly System.Reflection.Emit.OpCode Ldind_R4;
 staticval mutable Ldind_R4 : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldind_R4 As OpCode 

Valor do campo

Comentários

A tabela a seguir lista o formato de assembly hexadecimal e MSIL (Microsoft Intermediate Language) da instrução, juntamente com um breve resumo de referência:

Formatar Formato de assembly Descrição
4E ldind.r4 Carrega o float32 valor no endereço addr na pilha como um tipo F.

O comportamento de transição da pilha, em ordem sequencial, é:

  1. Um endereço é enviado por push para a pilha.

  2. O endereço é removido da pilha; o valor localizado no endereço é buscado.

  3. O valor buscado é enviado por push para a pilha.

A ldind.r4 instrução carrega indiretamente um float32 valor do endereço especificado (do tipo native int, &ou *) na pilha como um tipo F.

Todas as ldind instruções são atalhos para uma Ldobj instrução que especifica a classe de valor interna correspondente.

Observe que os valores inteiros de menos de 4 bytes são estendidos para int32 (não native int) quando são carregados na pilha de avaliação. Os valores de ponto flutuante são convertidos em F tipo quando carregados na pilha de avaliação.

A MSIL (Microsoft Intermediate Language) formada corretamente garante que as ldind instruções sejam usadas de maneira consistente com o tipo do ponteiro.

O endereço inicialmente enviado por push para a pilha deve ser alinhado ao tamanho natural dos objetos no computador ou pode NullReferenceException ocorrer (consulte a instrução de Unaligned prefixo para medidas preventivas). Os resultados de todas as instruções MSIL que retornam endereços (por exemplo, Ldloca e Ldarga) são alinhados com segurança. Para tipos de dados maiores que 1 byte, a ordenação de bytes depende da CPU de destino. O código que depende da ordenação de bytes pode não ser executado em todas as plataformas.

NullReferenceException pode ser gerado se um endereço inválido for detectado.

Emit A seguinte sobrecarga de método pode usar o ldind.r4 opcode:

Aplica-se a