OpCodes.Cpblk Feld

Definition

Kopiert eine angegebene Anzahl bytes von einer Quelladresse an eine Zieladresse.

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 

Feldwert

Hinweise

In der folgenden Tabelle sind das Hexadezimal- und Microsoft MSIL-Assemblyformat (Intermediate Language) der Anweisung zusammen mit einer kurzen Referenzzusammenfassung aufgeführt:

Format Assemblyformat Description
FE 17 cpblk Kopieren von Daten aus einem Speicherblock in einen anderen.

Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:

  1. Die Zieladresse wird auf den Stapel verschoben.

  2. Die Quelladresse wird auf den Stapel verschoben.

  3. Die Anzahl der zu kopierenden Bytes wird auf den Stapel verschoben.

  4. Die Anzahl der Bytes, die Quelladresse und die Zieladresse werden aus dem Stapel angezeigt; Die angegebene Anzahl von Bytes wird aus der Quelladresse in die Zieladresse kopiert.

Die cpblk Anweisung kopiert eine Zahl (Typ unsigned int32) von Bytes aus einer Quelladresse (vom Typ *, native intoder &) in eine Zieladresse (vom Typ *, native intoder &). Das Verhalten ist cpblk nicht angegeben, wenn sich die Quell- und Zielbereiche überlappen.

cpblk geht davon aus, dass sowohl die Quell- als auch die Zieladressen an der natürlichen Größe des Computers ausgerichtet sind. Der cpblk Anweisung kann unmittelbar die unaligned.<prefix> Anweisung vorangestellt werden, um anzugeben, dass die Quelle oder das Ziel nicht ausgerichtet ist.

Der Vorgang der cpblk Anweisung kann durch eine unmittelbar vorangehende Volatile oder Unaligned präfixe Anweisung geändert werden.

NullReferenceException kann ausgelöst werden, wenn eine ungültige Adresse erkannt wird.

Die folgende Emit Methodenüberladung kann den cpblk Opcode verwenden:

Gilt für: