OpCodes.Cpblk フィールド

定義

指定したバイト数をソース アドレスから宛先アドレスにコピーします。

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 Intermediate Language (MSIL) アセンブリ形式と、簡単なリファレンス概要を示します。

フォーマット アセンブリ形式 Description
FE 17 cpblk あるメモリ ブロックから別のメモリ ブロックにデータをコピーします。

スタック遷移の動作は、順番に次のようになります。

  1. 宛先アドレスがスタックにプッシュされます。

  2. ソース アドレスがスタックにプッシュされます。

  3. コピーするバイト数がスタックにプッシュされます。

  4. バイト数、送信元アドレス、および宛先アドレスはスタックからポップされます。指定したバイト数が送信元アドレスから宛先アドレスにコピーされます。

cpblk命令は、ソース アドレス (unsigned int32*、またはnative int) から宛先アドレス (&*、またはnative int) にバイト数 (型&) をコピーします。 cpblkの動作は、ソース領域とコピー先領域が重なる場合は指定されません。

cpblk は、ソース アドレスと宛先アドレスの両方がマシンの自然なサイズに揃っていることを前提としています。 cpblk命令の直前にunaligned.<prefix>命令を付けて、ソースまたは宛先がアラインされていないことを示すことができます。

cpblk命令の操作は、直前のVolatileまたはプレフィックス命令Unaligned変更できます。

NullReferenceException は、無効なアドレスが検出された場合にスローされる可能性があります。

次の Emit メソッドオーバーロードでは、 cpblk オペコードを使用できます。

適用対象