「Java」- 虚拟机指令

fload 0x17

将指定的float型本地变量推至栈顶

fload_<n>

将第n+1个float型本地变量推至栈顶

Forms

fload_0 = 34 (0x22)
fload_1 = 35 (0x23)
fload_2 = 36 (0x24)
fload_3 = 37 (0x25)

Operand Stack

… →
…, value

f2i 0x8b

将栈顶float型数值强制转换成int型数值并将结果压入栈顶

f2l 0x8c

将栈顶float型数值强制转换成long型数值并将结果压入栈顶

f2d 0x8d

将栈顶float型数值强制转换成double型数值并将结果压入栈顶

faload 0x30

将float型数组指定索引的值推至栈顶

fstore 0x38

将栈顶float型数值存入指定本地变量

fstore_<n>

将栈顶float型数值存入第一个本地变量

Forms

fstore_0 = 67 (0x43)
fstore_1 = 68 (0x44)
fstore_2 = 69 (0x45)
fstore_3 = 70 (0x46)

Operand Stack

…, value →

freturn 0xae

从当前方法返回float

fcmpl 0x95

比较栈顶两float型数值大小,并将结果(1,0,-1)压入栈顶;当其中一个数值为NaN时,将-1压入栈顶

fcmpg 0x96

比较栈顶两float型数值大小,并将结果(1,0,-1)压入栈顶;当其中一个数值为NaN时,将1压入栈顶

frem 0x72

将栈顶两float型数值作取模运算并将结果压入栈顶

fneg 0x76

将栈顶float型数值取负并将结果压入栈顶

fdiv 0x6e

将栈顶两float型数值相除并将结果压入栈顶

fmul 0x6a

将栈顶两float型数值相乘并将结果压入栈顶

fsub 0x66

将栈顶两float型数值相减并将结果压入栈顶

fadd 0x62

将栈顶两float型数值相加并将结果压入栈顶

fastore 0x51

将栈顶float型数值存入指定数组的指定索引位置

fconst_<f>

将float型(f)推至栈顶

Forms

fconst_0 = 11 (0xb)
fconst_1 = 12 (0xc)
fconst_2 = 13 (0xd)

Operand Stack

… →
…, <f>