ldc 0x12
将int, float或String型常量值,从常量池中推至栈顶。
Operand Stack
… →
…, value
ldc_w 0x13
将int, float或String型常量值从常量池中推至栈顶(宽索引)
ldc2_w 0x14
将long或double型常量值从常量池中推至栈顶(宽索引)
lstore 0x37
将栈顶long型数值存入指定本地变量
lstore_<n>
将栈顶long型数值存入第一个本地变量
Forms
lstore_0 = 63 (0x3f)
lstore_1 = 64 (0x40)
lstore_2 = 65 (0x41)
lstore_3 = 66 (0x42)
Operand Stack
…, value →
…
lconst_<l>
将long型(0)推至栈顶
Forms
lconst_0 = 9 (0x9)
lconst_1 = 10 (0xa)
Operand Stack
… →
…, <l>
lload 0x16
将指定的long型本地变量推至栈顶
lload_<n>
将第一个long型本地变量推至栈顶
Forms
lload_0 = 30 (0x1e)
lload_1 = 31 (0x1f)
lload_2 = 32 (0x20)
lload_3 = 33 (0x21)
Operand Stack
… →
…, value
l2i 0x88
将栈顶long型数值强制转换成int型数值并将结果压入栈顶
l2f 0x89
将栈顶long型数值强制转换成float型数值并将结果压入栈顶
l2d 0x8a
将栈顶long型数值强制转换成double型数值并将结果压入栈顶
laload 0x2f
将long型数组指定索引的值推至栈顶
lastore 0x50
将栈顶long型数值存入指定数组的指定索引位置
lreturn 0xad
从当前方法返回long
lookupswitch 0xab
用于switch条件跳转,case值不连续(可变长度指令)
lcmp 0x94
比较栈顶两long型数值大小,并将结果(1,0,-1)压入栈顶
lor 0x81
将栈顶两long型数值作“按位或”并将结果压入栈顶
lxor 0x83
将栈顶两long型数值作“按位异或”并将结果压入栈顶
land 0x7f
将栈顶两long型数值作“按位与”并将结果压入栈顶
lushr 0x7d
将long型数值右(无符号)移位指定位数并将结果压入栈顶
lshr 0x7b
将long型数值右(符号)移位指定位数并将结果压入栈顶
lneg 0x75
将栈顶long型数值取负并将结果压入栈顶
lshl 0x79
将long型数值左移位指定位数并将结果压入栈顶
lrem 0x71
将栈顶两long型数值作取模运算并将结果压入栈顶
ladd 0x61
将栈顶两long型数值相加并将结果压入栈顶
lsub 0x65
将栈顶两long型数值相减并将结果压入栈顶
lmul 0x69
将栈顶两long型数值相乘并将结果压入栈顶
ldiv 0x6d
将栈顶两long型数值相除并将结果压入栈顶