Java 字节码文件反汇编指令
- 1.将常量压入操作数栈中的指令
-
- (1)iconst_n、 lconst_n、fconst_n、dconst_n
- (2)bipush、sipush
- (3)idc
- 2.将操作数栈中的值存入局部变量表中的指令
-
- (1)istore_n、lstore_n、fstore_n、dstore_n、astore_n
- (2)astore_n、iastore、lastore、fastore 、dastore 、aastore 、bastore、castore、sastore
- (3)wide
- 3.从栈中给局部变量中装载值的指令
-
- (1)iload_n、lload_n 、fload_n、dload_n
- (2)aload_n、iaload、laload、faload 、daload、aaload、baload、caload、saload
- 4.类型转化的指令(i2l、i2d、l2f、f2d、i2b、i2c、i2s...)
- 5.整数运算(iadd、ladd 、isub、imul 、idiv、irem 、ineg 、iinc ...)
- 6.逻辑运算
-
- (1)移位操作 (ishl、lshl、ishr、lshr、iushr、lushr)
- (2)按位布尔运算 (iand、land、ior 、lor、ixor、lxor)
- (3)浮点运算
- 7.对象和数组指令
-
- (1)对象操作指令 (getstatic、putstatic...)
- (2)数组操作指令 (newarray、arraylength...)
- 7.控制流相关指令
-
- (1)条件分支指令 (ifeq、iflt 、ifge 、ifle、if_icmpcq、if_icmplt、if_icmple、if_icmpne、ifnull、if_acmpeq 、if_acmpnc、... )
- (2)比较指令 (lcmp、fcmpl 、fcmpg 、dcmpl、dcmpg )
- (3)无条件转移指令 (goto、tableswitch、lookupswitch)
- (4)异常 (athrow)
- (5)finally子句 (jsr、jsr_w、rct)
- (6)方法调用与返回
-
- <1>方法调用指令(invokcvirtual、invokespecial、invokestatic、invokcinterface)
- <2>方法返回指令 (ireturn 、lreturn、freturn、dreturn、areturn、return)
- (8)线程同步 (montiorenter、monitorexit)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/45596.html