OpCodes.Cpblk OpCodes.Cpblk OpCodes.Cpblk OpCodes.Cpblk Field


始点アドレスからエンド ポイント アドレスに指定した数のバイトをコピーします。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 



次の表は、命令の16進形式と Microsoft 中間言語 (MSIL) のアセンブリ形式と、簡単なリファレンスの概要を示しています。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 17FE 17 cpblkcpblk メモリブロック間でデータをコピーします。Copy data from one memory block to another.

スタックの移行動作は、次の順序で実行されます。The stack transitional behavior, in sequential order, is:

  1. 宛先アドレスはスタックにプッシュされます。The destination address is pushed onto the stack.

  2. ソースアドレスはスタックにプッシュされます。The source address is pushed onto the stack.

  3. コピーするバイト数がスタックにプッシュされます。The number of bytes to copy is pushed onto the stack.

  4. バイト数、送信元アドレス、および宛先アドレスがスタックからポップされます。指定されたバイト数が、転送元アドレスから宛先アドレスにコピーされます。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.

命令cpblkは、 & * unsigned int32 & native int送信元アドレス(、、または)から宛先アドレス(型、型、または型)に、バイトの数(型)をコピーします。native int *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 &). コピー元とcpblkコピー先の領域が重複する場合、の動作は指定されません。The behavior of cpblk is unspecified if the source and destination areas overlap.

cpblk送信元と送信先の両方がコンピューターの自然サイズに合わせて配置されていることを前提としています。cpblk assumes that both the source and destination addressed are aligned to the natural size of the machine. 命令は、転送元または転送unaligned.<prefix>先のどちらかが整列していないことを示す命令の直前に記述できます。 cpblkThe cpblk instruction can be immediately preceded by the unaligned.<prefix> instruction to indicate that either the source or the destination is unaligned.

cpblk命令の操作は、直前VolatileまたはUnaligned前置命令によって変更できます。The operation of the cpblk instruction can be altered by an immediately preceding Volatile or Unaligned prefix instruction.

NullReferenceException無効なアドレスが検出された場合にスローされる可能性があります。NullReferenceException may be thrown if an invalid address is detected.

Emitのメソッドオーバーロードでは、 cpblkオペコードを使用できます。The following Emit method overload can use the cpblk opcode:

  • ILGenerator (オペコード)ILGenerator.Emit(OpCode)