OpCodes.Cpblk Field
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Copies a specified number bytes from a source address to a destination address.
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
Field Value
Remarks
The following table lists the instruction's hexadecimal and Microsoft Intermediate Language (MSIL) assembly format, along with a brief reference summary:
Format | Assembly Format | Description |
---|---|---|
FE 17 | cpblk | Copy data from one memory block to another. |
The stack transitional behavior, in sequential order, is:
The destination address is pushed onto the stack.
The source address is pushed onto the stack.
The number of bytes to copy is pushed onto the stack.
The number of bytes, the source address, and the destination address are popped from the stack; the specified number of bytes are copied from the source address to the destination address.
The cpblk
instruction copies a number (type unsigned int32
) of bytes from a source address (of type *
, native int
, or &
) to a destination address (of type *
, native int
, or &
). The behavior of cpblk
is unspecified if the source and destination areas overlap.
cpblk
assumes that both the source and destination addresses are aligned to the natural size of the machine. The cpblk
instruction can be immediately preceded by the unaligned.<prefix>
instruction to indicate that either the source or the destination is unaligned.
The operation of the cpblk
instruction can be altered by an immediately preceding Volatile or Unaligned prefix instruction.
NullReferenceException may be thrown if an invalid address is detected.
The following Emit method overload can use the cpblk
opcode: