次の方法で共有


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) アセンブリ形式と、簡単な参照の概要を示します。

形式 アセンブリ形式 説明
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 使用できます。

適用対象