iconst_<i>
将「int型值」推至「栈顶」
Forms
iconst_m1 = 2 (0x2)
iconst_0 = 3 (0x3)
iconst_1 = 4 (0x4)
iconst_2 = 5 (0x5)
iconst_3 = 6 (0x6)
iconst_4 = 7 (0x7)
iconst_5 = 8 (0x8)
Operand Stack
… →
…, <i>
istore 0x36
将「栈顶int型值」存入指定「本地变量」
Format
istore
index
Operand Stack
…, value →
…
istore_<n>
将「栈顶int型值」存入「第n+1个本地变量」
Forms
istore_0 = 59 (0x3b)
istore_1 = 60 (0x3c)
istore_2 = 61 (0x3d)
istore_3 = 62 (0x3e)
Operand Stack
…, value →
…
iload 0x15
将指定的「int类型本地变量」推至「栈顶」
iload_<n>
将索引为「n」的「int型本地变量」推至「栈顶」
Forms
iload_0 = 26 (0x1a)
iload_1 = 27 (0x1b)
iload_2 = 28 (0x1c)
iload_3 = 29 (0x1d)
Operand Stack
… →
…, value
ixor 0x82
将栈顶两int型数值作“按位异或”(value1 ~ value2),然后将结果压入栈顶
Operand Stack
…, value1, value2 →
…, result
iinc 0x84
格式:iinc index const
将指定int型变量增加指定值(i++, i–, i+=2)
Operand Stack
No change
i2b 0x91
将栈顶int型数值强制转换成byte型数值并将结果压入栈顶
i2c 0x92
将栈顶int型数值强制转换成char型数值并将结果压入栈顶
Operand Stack
…, value →
…, result
i2s 0x93
将栈顶int型数值强制转换成short型数值并将结果压入栈顶
instanceof 0xc1
检验对象是否是指定的类的实例,如果是将1压入栈顶,否则将0压入栈顶
i2l 0x85
将栈顶int型数值强制转换成long型数值并将结果压入栈顶
i2f 0x86
将栈顶int型数值强制转换成float型数值并将结果压入栈顶
i2d 0x87
将栈顶int型数值强制转换成double型数值并将结果压入栈顶
iaload 0x2e
将int型数组指定索引的值推至栈顶
iastore 0x4f
将栈顶int型数值存入指定数组的指定索引位置
ireturn 0xac
从当前方法返回int类型值
Format
ireturn
Operand Stack
…, value →
[empty]
ior 0x80
将栈顶两int型数值作“按位或”并将结果压入栈顶
iand 0x7e
将栈顶两int型数值作“按位与”并将结果压入栈顶
iushr 0x7c
将int型数值右(无符号)移位指定位数并将结果压入栈顶
ishl 0x78
将int型数值左移位指定位数并将结果压入栈顶
ishr 0x7a
将int型数值右(符号)移位指定位数并将结果压入栈顶
ineg 0x74
将栈顶int型数值取负并将结果压入栈顶
iadd 0x60
将栈顶两int型数值相加并将结果压入栈顶
isub 0x64
将栈顶两int型数值相减并将结果压入栈顶
imul 0x68
将栈顶两int型数值相乘并将结果压入栈顶
idiv 0x6c
将栈顶两int型数值相除并将结果压入栈顶
irem 0x70
将栈顶两int型数值作取模运算,并将结果压入栈顶。
用靠近栈底的数值对模以