[Atelier Blue アトリエブルー]Homeプログラミング IL(CIL,MSIL)命令一覧>ldc.<type>

ldc.<type> - load numeric constant

定数をロード(プッシュ)します。

同系統一覧

形式
(Format)
バイトサイズ
(byte size)
命令形式
(Assembly Format)
説明
(Description)
0x20 <int32> 5 ldc.i4 num int32型の数字をスタックにプッシュする。
0x21 <int64> 9 ldc.i8 num int64型の数字をスタックにプッシュする。
0x22 <float32> 5 ldc.r4 num float32型の数字をスタックにプッシュする。
0x22 <float64> 9 ldc.r8 num float64型の数字をスタックにプッシュする。
0x16 1 ldc.i4.0 int32型の「0」をスタックにプッシュする。
0x17 1 ldc.i4.1 int32型の「1」をスタックにプッシュする。
0x18 1 ldc.i4.2 int32型の「2」をスタックにプッシュする。
0x19 1 ldc.i4.3 int32型の「3」をスタックにプッシュする。
0x1A 1 ldc.i4.4 int32型の「4」をスタックにプッシュする。
0x1B 1 ldc.i4.5 int32型の「5」をスタックにプッシュする。
0x1C 1 ldc.i4.6 int32型の「6」をスタックにプッシュする。
0x1D 1 ldc.i4.7 int32型の「7」をスタックにプッシュする。
0x1E 1 ldc.i4.8 int32型の「8」をスタックにプッシュする。
0x15 1 ldc.i4.m1 int32型の「-1」をスタックにプッシュする。
0x15 1 ldc.i4.M1 int32型の「-1」をスタックにプッシュする。これは「ldc.i4.m1」のエイリアス(別名)です。
0x1F <int8> 2 ldc.i4.s num int8の数字をint32型でスタックにプッシュする。ldc.i4の短い形式。

スタックの変化(Stack Transition)

..., -> ...,num

説明(Description)

「ldc num」命令はスタックにnumの数をプッシュします。 整数-128~127には特別短い命令があります(「-1~8」にはさらに短い形式があります)。

 int64、float32、float64には短縮形がありません。

 スタックに8バイトの整定数をプッシュするには3つの方法があります。

  1. 32ビット以上で言い表さなければならない定数にはldc.i8命令を使用します。
  2. 32ビットを必要とする定数はldc.i4を利用後conv.i8によって変換する方法が使用できる。
  3. 「-1~8」は、短い形式の命令でint32をプッシュした後に「conv.i8」で変換する方法が使える。

 例外(Exceptions)

無し

コードの検証(Verifiability)

ldc命令はいつでも安全です。


ページの一番上へ
一覧に戻る
初版2006-4-9 最終更新2006-5-28
[Atelier Blue アトリエブルー]Homeプログラミング IL(CIL,MSIL)命令一覧>ldc.<type>