Copies a specified number bytes from a source address to a destination address.
[Visual Basic] Public Shared ReadOnly Cpblk As OpCode [C#] public static readonly OpCode Cpblk; [C++] public: static OpCode Cpblk; [JScript] public static var Cpblk : OpCode;
The following table lists the instruction's hexadecimal and Microsoft Intermediate Language (MSIL) assembly format, along with a brief reference summary:
|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 *, natural int, or &) to a destination address (of type *, natural int, or &). The behavior of cpblk is unspecified if the source and destination areas overlap.
cpblk assumes that both the source and destination addressed 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.
NullReferenceException may be thrown if an invalid address is detected.
The following Emit constructor overload can use the cpblk opcode:
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family