看字节码从这里开始。
指令码 | 助记符 | 说明 |
---|---|---|
0×00 | nop | 什么都不做 |
0×01 | aconst_null | 将null推送至栈顶 |
0×02 | iconst_m1 | 将int型-1推送至栈顶 |
0×03 | iconst_0 | 将int型0推送至栈顶 |
0×04 | iconst_1 | 将int型1推送至栈顶 |
0×05 | iconst_2 | 将int型2推送至栈顶 |
0×06 | iconst_3 | 将int型3推送至栈顶 |
0×07 | iconst_4 | 将int型4推送至栈顶 |
0×08 | iconst_5 | 将int型5推送至栈顶 |
0×09 | lconst_0 | 将long型0推送至栈顶 |
0x0a | lconst_1 | 将long型1推送至栈顶 |
0x0b | fconst_0 | 将float型0推送至栈顶 |
0x0c | fconst_1 | 将float型1推送至栈顶 |
0x0d | fconst_2 | 将float型2推送至栈顶 |
0x0e | dconst_0 | 将double型0推送至栈顶 |
0x0f | dconst_1 | 将double型1推送至栈顶 |
0×10 | bipush | 将单字节的常量值(-128~127)推送至栈顶 |
0×11 | sipush | 将一个短整型常量值(-32768~32767)推送至栈顶 |
0×12 | ldc | 将int, float或String型常量值从常量池中推送至栈顶 |
0×13 | ldc_w | 将int, float或String型常量值从常量池中推送至栈顶(宽索引) |
0×14 | ldc2_w | 将long或double型常量值从常量池中推送至栈顶(宽索引) |
0×15 | iload | 将指定的int型本地变量推送至栈顶 |
0×16 | lload | 将指定的long型本地变量推送至栈顶 |
0×17 | fload | 将指定的float型本地变量推送至栈顶 |
0×18 | dload | 将指定的double型本地变量推送至栈顶 |
0×19 | aload | 将指定的引用类型本地变量推送至栈顶 |
0x1a | iload_0 | 将第0个int型本地变量推送至栈顶 |
0x1b | iload_1 | 将第1个int型本地变量推送至栈顶 |
0x1c | iload_2 | 将第2个int型本地变量推送至栈顶 |
0x1d | iload_3 | 将第3个int型本地变量推送至栈顶 |
0x1e | lload_0 | 将第0个long型本地变量推送至栈顶 |
0x1f | lload_1 | 将第1个long型本地变量推送至栈顶 |
0×20 | lload_2 | 将第2个long型本地变量推送至栈顶 |
0×21 | lload_3 | 将第3个long型本地变量推送至栈顶 |
0×22 | fload_0 | 将第0个float型本地变量推送至栈顶 |
0×23 | fload_1 | 将第1个float型本地变量推送至栈顶 |
0×24 | fload_2 | 将第2个float型本地变量推送至栈顶 |
0×25 | fload_3 | 将第3个float型本地变量推送至栈顶 |
0×26 | dload_0 | 将第0个double型本地变量推送至栈顶 |
0×27 | dload_1 | 将第1个double型本地变量推送至栈顶 |
0×28 | dload_2 | 将第2个double型本地变量推送至栈顶 |
0×29 | dload_3 | 将第3个double型本地变量推送至栈顶 |
0x2a | aload_0 | 将第0个引用类型本地变量推送至栈顶 |
0x2b | aload_1 | 将第1个引用类型本地变量推送至栈顶 |
0x2c | aload_2 | 将第2个引用类型本地变量推送至栈顶 |
0x2d | aload_3 | 将第3个引用类型本地变量推送至栈顶 |
0x2e | iaload | 将int型数组指定索引的值推送至栈顶 |
0x2f | laload | 将long型数组指定索引的值推送至栈顶 |
0×30 | faload | 将float型数组指定索引的值推送至栈顶 |
0×31 | daload | 将double型数组指定索引的值推送至栈顶 |
0×32 | aaload | 将引用型数组指定索引的值推送至栈顶 |
0×33 | baload | 将boolean或byte型数组指定索引的值推送至栈顶 |
0×34 | caload | 将char型数组指定索引的值推送至栈顶 |
0×35 | saload | 将short型数组指定索引的值推送至栈顶 |
0×36 | istore | 将栈顶int型数值存入指定本地变量 |
0×37 | lstore | 将栈顶long型数值存入指定本地变量 |
0×38 | fstore | 将栈顶float型数值存入指定本地变量 |
0×39 | dstore | 将栈顶double型数值存入指定本地变量 |
0x3a | astore | 将栈顶引用型数值存入指定本地变量 |
0x3b | istore_0 | 将栈顶int型数值存入第0个本地变量 |
0x3c | istore_1 | 将栈顶int型数值存入第1个本地变量 |
0x3d | istore_2 | 将栈顶int型数值存入第2个本地变量 |
0x3e | istore_3 | 将栈顶int型数值存入第3个本地变量 |
0x3f | lstore_0 | 将栈顶long型数值存入第0个本地变量 |
0×40 | lstore_1 | 将栈顶long型数值存入第1个本地变量 |