OpCodes.Cpblk Campo

Definição

Copia um número específico de bytes de um endereço de origem para um endereço de destino.

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

Valor de Campo

Observações

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

Formato Formato de Montagem Descrição
FE 17 cpblk Copiar dados de um bloco de memória para outro.

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

  1. O endereço de destino é empurrado para a pilha.

  2. O endereço de origem é empurrado para a pilha.

  3. O número de bytes a copiar é empurrado para a pilha.

  4. O número de bytes, o endereço de origem e o endereço de destino são extraídos da pilha; O número especificado de bytes é copiado do endereço de origem para o endereço de destino.

A cpblk instrução copia um número (tipo unsigned int32) de bytes de um endereço de origem (de tipo *, native int, ou &) para um endereço de destino (de tipo *, native int, ou &). O comportamento de cpblk não é especificado se as áreas de origem e destino se sobrepõem.

cpblk assume que tanto os endereços de origem como de destino estão alinhados com o tamanho natural da máquina. A cpblk instrução pode ser imediatamente precedida pela unaligned.<prefix> instrução para indicar que ou a origem ou o destino estão desalinhados.

O funcionamento da cpblk instrução pode ser alterado por uma instrução imediatamente Volatile anterior ou Unaligned prefixo.

NullReferenceException pode ser lançado se for detetado um endereço inválido.

O seguinte Emit método de sobrecarga pode usar o cpblk opcode:

Aplica-se a