[あすかぜ・ねっと]あすかぜ・ねっとその他CIL Opcode > ldc

ldc - load numeric constant

Menu

CIL フォーマット

15 / ldc.i4.m1
161E / ldc.i4.(0〜8)
1F (int8) / ldc.i4.s (num)
20 (int32) / ldc.i4 (num)
21 (int64) / ldc.i8 (num)
22 (float32) / ldc.r4 (num)
23 (float64) / ldc.r8 (num)

JVM フォーマット

02 / iconst_m1
0308 / iconst_(0〜5)
090A / lconst_(0〜1)
0B0D / fconst_(0〜2)
0E0F / dconst_(0〜1)
10 (byte) / bipush (num)
11 (byte*2) / sipush (num)
12 (uint8) / ldc (index)
13 (uint8) / ldc_w (index)
14 (uint8) / ldc2_w (index)

※Javaでの ldc, ldc_w, ldc2_w 命令は、 ランタイム・コンスタント・プールからスタックにコピーを行う。

スタック

... → ..., num

詳細

スタックに定数を追加します。 -1 から 8 までに関しては ldc.i4.m1, ... ,ldc.i4.8 を、 -128 から 127 までの整数には ldc.i4.s を利用できます。 これらの短縮表記を利用した場合、スタックには4バイト整数として積まれます。

8バイト整数の定数をスタックに積むには、以下の3通りの方法が考えられます。


Copyright (C) 2000-2004 asukaze, All Rights Reserved.
Last Update: 2004/10/27
Mail: mail@asukaze.net