特定のインデックスのローカル変数を評価スタックに読み込みます。
Public Shared ReadOnly Ldloc As OpCode
[C#]
public static readonly OpCode Ldloc;
[C++]
public: static OpCode Ldloc;
[JScript]
public static var Ldloc : OpCode;
解説
命令の 16 進数の形式、MSIL (Microsoft Intermediate Language) アセンブリ形式、および簡単な説明の一覧を次の表に示します。
形式 | アセンブリ形式 | 説明 |
---|---|---|
FE 06 < unsigned int16 > | ldloc index | インデックス index のローカル変数をスタックに読み込みます。 |
スタックの遷移動作を順番に示すと、次のようになります。
- 指定したインデックスのローカル変数値がスタックにプッシュされます。
ldloc 命令は、渡されたインデックスのローカル変数番号の内容を評価スタックにプッシュします。ローカル変数の番号は 0 から始まります。ローカル変数は、メソッドの初期化フラグが true である場合にだけ、メソッドを入力する前に 0 に初期化されます。使用できるローカル変数は、65,535 (2^16-1) 個あります (0 ~ 65,534)。実装では、2 バイト整数を使用して、ローカルのインデックスおよび指定したメソッドのローカルの合計数の両方を追跡する可能性があるため、インデックス 65,535 は無効です。インデックス 65,535 を有効にすると、指定したメソッドのローカル数を追跡するために、より広い範囲の整数を使用する必要があります。
ldloc.0 、 ldloc.1 、 ldloc.2 、 ldloc.3 の各命令は、先頭の 4 つのローカル変数にアクセスするためのエンコーディングを効率的に実行します。
値の型は、メソッド ヘッダー内で指定されているローカル変数の型と同じです。「Partition I」を参照してください。4 バイト長より小さいローカル変数は、スタックに読み込まれるときに、 int32 型に拡張されます。浮動小数点値は、ネイティブ サイズ (F 型) に拡張されます。
ldloc オペコードを使用できる Emit コンストラクタ オーバーロードを次に示します。
- ILGenerator.Emit(OpCode, LocalBuilder)
- ILGenerator.Emit(OpCode, short)
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ