Sdílet prostřednictvím


OpCodes.Cpblk Pole

Definice

Zkopíruje zadaný počet bajtů ze zdrojové adresy na cílovou adresu.

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 

Hodnota pole

Poznámky

Následující tabulka uvádí šestnáctkový formát sestavení instrukce a formát sestavení MSIL (Microsoft Intermediate Language) spolu se stručným přehledem referencí:

Formát Formát sestavení Description
FE 17 cpblk Kopírování dat z jednoho paměťového bloku do jiného.

Přechodné chování zásobníku v sekvenčním pořadí je:

  1. Cílová adresa se odešle do zásobníku.

  2. Zdrojová adresa se vloží do zásobníku.

  3. Počet bajtů ke kopírování je vložen do zásobníku.

  4. Počet bajtů, zdrojová adresa a cílová adresa jsou vynořeny ze zásobníku; zadaný počet bajtů se zkopíruje ze zdrojové adresy na cílovou adresu.

Instrukce cpblk zkopíruje číslo (typ unsigned int32) bajtů ze zdrojové adresy (typu *, native intnebo &) na cílovou adresu (typu *, native intnebo &). Chování objektu cpblk není určeno, pokud se zdrojová a cílová oblast překrývají.

cpblk předpokládá, že zdrojová i cílová adresa odpovídají přirozené velikosti počítače. Instrukci cpblk může bezprostředně předcházet unaligned.<prefix> instrukce, která označuje, že zdroj nebo cíl nejsou zarovnané.

Činnost cpblk instrukce může být změněna bezprostředně předcházející Volatile instrukcí nebo Unaligned předponou.

NullReferenceException může být vyvolána, pokud je zjištěna neplatná adresa.

Následující Emit přetížení metody může použít cpblk opcode:

Platí pro