All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.andyshao.system.jvmCommand.txt Maven / Gradle / Ivy

The newest version!
    字节码          助记符              指令含义
    0x00            nop                     什么都不做
    0x01            acont_null          将null推送至栈顶
    0x02            iconst_m1           将int型-1推送至栈顶
    0x03            iconst_0            将int型0推送至栈顶
    0x04            iconst_1            将int型1推送至栈顶
    0x05            iconst_2            将int型2推送至栈顶
    0x06            iconst_3            将int型3推送至栈顶
    0x07            iconst_4            将int型4推送至栈顶
    0x08            iconst_5            将int型5推送至栈顶
    0x09            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推送至栈顶
    0x10            bipush              将一个短整数型常量值(-127~127)推送至栈顶
    0x11            sipush              将单字节的常量值(-32768~32767)推送至栈顶
    0x12            ldc                 将int/float或String型常量值从常量池中推送至栈顶
    0x13            ldc_w               将int/float或String型常量值从常量池中推送至栈顶(宽索引)
    0x14            ldc2_w              将long或double型常量值从常量池中推送至栈顶(宽索引)
    0x15            iload               将指定的int型本地变量推送至栈顶
    0x16            lload               将指定的long型本地变量推送至栈顶
    0x17            fload               将指定的float型本地变量推送至栈顶
    0x18            dload               将指定的double型本地变量推送至栈顶
    0x19            aload               将指定的引用类型本地变量推送至栈顶
    0x1a            iload_0             将第一个int型本地变量推送至栈顶
    0x1b            iload_1             将第二个int型本地变量推送至栈顶
    0x1c            iload_2             将第三个int型本地变量推送至栈顶
    0x1d            iload_3             将第四个int型本地变量推送至栈顶
    0x1e            lload_0             将第一个long型本地变量推送至栈顶
    0x1f            lload_1             将第二个long型本地变量推送至栈顶

-----------------------------------------------------------------------------------------------------------------------

    字节码          助记符              指令含义
    0x20            lload_2             将第三个long型本地变量推送至栈顶
    0x21            lload_3             将第四个long型本地变量推送至栈顶
    0x22            fload_0             将第一个float型本地变量推送至栈0x至栈顶
    0x25            fload_3             将第四个float型本地变量推送至栈顶
    0x26            dload_0             将第一个double型本地变量推送至栈顶
    0x27            dload_1             将第二个double型本地变量推送至栈顶
    0x28            dload_2             将第三个double型本地变量推送至栈顶
    0x29            dload_3             将第四个double型本地变量推送至栈顶
    0x2a            aload_0             将第一个引用类型本地变量推送至栈顶
    0x2b            aload_1             将第二个引用类型本地变量推送至栈顶
    0x2c            aload_2             将第三个引用类型本地变量推送至栈顶
    0x2d            aload_3             将第四个引用类型本地变量推送至栈顶
    0x2e            iaload              将第一个引用类型本地变量推送至栈顶
    0x2f            laload              将第二个引用类型本体变量推送至栈顶
    0x30            faload              将float型数组指定索引的值推送至栈顶
    0x31            daload              将double型数组指定索引的至推送至栈顶
    0x32            aaload              将引用型数组指定索引的至推送至栈顶
    0x33            baload              将boolean或byte型数组指定索引的值推送至栈顶
    0x34            caload              将char型数组指定索引的至推送至栈顶
    0x35            saload              将short型数组指定索引的至推送至栈顶
    0x36            istore              将栈顶int型数值存入指定本地变量
    0x37            lstore              将栈顶long型数值存入指定本地变量
    0x38            fstore              将栈顶float型数值存入指定本地变量
    0x39            dstore              将栈顶double型数值存入指定本地变量
    0x3a            astore              将栈顶引用型数值存入指定本地变量
    0x3b            istore_0            将栈顶int型数值存入第一个本地变量
    0x3c            istore_1            将栈顶int型数值存入第二个本地变量
    0x3d            istore_2            将栈顶int型数值存入第三个本地变量
    0x3e            istore_3            将栈顶int型数值存入第四个本地变量
    0x3f            lstore_0            将栈顶long型数值存入第一个本地变量
    0x40            lstore_1            将栈顶long型数值存入第二个本地变量
    0x41            lstore_2            将栈顶long型数值存入第三个本地变量
    0x42            lstore_3            将栈顶long型数值存入第四个本地变量
    0x43            fstore_0            将栈顶float型数值存入第一个本地变量
    0x44            fstore_1            将栈顶float型数值存入第二个本地变量

---------------------------------------------------------------------------------------------------------

    字节码          助记符              指令含义
    0x45            fstore_2            将栈顶float型整数值存入第三个本地变量
    0x46            fstore_3            将栈顶float型数值存入第四个本地变量
    0x47            dstore_0            将栈顶double型数值存入第一个本地变量
    0x48            dstore_1            将栈顶double型数值存入第二个本地变量
    0x49            dstore_2            将栈顶double型数值存入第三个本地变量
    0x4a            dstore_3            将栈顶double行数值存入第四个本地变量
    0x4b            astore_0            将栈顶引用型数值存入第一个本地变量
    0x4c            astore_1            将栈顶引用型数值存入第二个本地变量
    0x4d            astore_2            将栈顶引用型数值存入第三个本地变量
    0x4e            astore_3            将栈顶引用型数值存入第四个本地变量
    0x4f            iastore             将栈顶int型数值存入指定数组的指定索引位置
    0x50            lastore             将栈顶long型数值存入指定数组的指定索引位置
    0x51            fastore             将栈顶float型数值存入指定数组的指定索引位置
    0x52            dastore             将栈顶double型数值存入指定数组的指定索引位置
    0x53            aastore             将栈顶引用型数值存入指定数组的指定索引位置
    0x54            bastore             将栈顶boolean或byte型数值存入指定数组的指定索引位置
    0x55            castore             将栈顶char型数值存入指定数组的指定索引位置
    0x56            sastore             将栈顶short型数值存入指定数组的指定索引位置
    0x57            pop                 将栈顶数值弹出(数值不能是long或double类型的)
    0x58            pop2                将栈顶的一个(对于long或double类型)或两个数值(对于非long或double的其他类型)弹出
    0x59            dup                 复制栈顶数值并将复制值压入栈顶
    0x5a            dup_x1              复制栈顶数值并将两个复制值压入栈顶
    0x5b            dup_x2              复制栈顶数值并将三个(或两个)复制值压入栈顶
    0x5c            dup2                复制栈顶一个(对于long或double类型)或两个(对于非long或double的其他类型)数值并将复制值压入栈顶
    0x5d            dup2_x1             dup_x1指令的双倍版本
    0x5e            dup2_x2             dup_x2指令的双倍版本
    0x5f            swap                将栈最顶端的两个数值互换(数值不能是long或double类型)
    0x60            iadd                将栈顶两int型数值相加并将结果压入栈顶
    0x61            ladd                将栈顶两long型数值相加并将结果压入栈顶
    0x62            fadd                将栈顶两float型数值相加并将结果压入栈顶
    0x63            dadd                将栈顶两double行数值相加并将结果压入栈顶
    0x64            isub                将栈顶两int型数值相加并将结果压入栈顶
    0x65            lsub                将栈顶两long型数值相减并将结果压入栈顶
    0x66            fsub                将栈顶两float型数值相减并将结果压入栈顶
    0x67            dsub                将栈顶两double型数值相减并将结果压入栈顶

---------------------------------------------------------------------------------------------------------

    字节码          助记符              指令含义
    0x68            imul                将栈顶两int型数值相乘并将结果压入栈顶
    0x69            lmul                将栈顶两long型数值相乘并将结果压入栈顶
    0x6a            fmul                将栈顶两float型数值形成并将结果压入栈顶
    0x6b            dmul                将栈顶两long型数值相乘并将结果压入栈顶
    0x6c            idiv                将栈顶两int型数值相除并将结果压入栈顶
    0x6d            ldiv                将栈顶两long型数值相除并将结果压入栈顶
    0x6e            fdiv                将栈顶两float型数值相除并将结果压入栈顶
    0x6f            ddive               将栈顶两double型数值行处并将机构压入栈顶
    0x70            irem                将栈顶两int型数值作取模运算并将结果压入栈顶
    0x71            lrem                将栈顶两long型数值作取模运算并将结果压入栈顶
    0x72            frem                将栈顶两float型数值作取模运算并将结果压入栈顶
    0x73            drem                将栈顶两double型数值作取模运算并结果压入栈顶
    0x74            ineg                将栈顶int型数值取负值并将结果压入栈顶
    0x75            lneg                将栈顶long型数值取负值并将结果压入栈顶
    0x76            fneg                将栈顶float型数值取负值并将结果压入栈顶
    0x77            dneg                将栈顶double型数值取负值并将结果压入栈顶
    0x78            ishl                将int型数值左移位指定位数并将结果压入栈顶
    0x79            lshl                将long型数值左移指定位数并将结果压入栈顶
    0x7a            fshl                将float型数值左移指定位置并将结果压入栈顶
    0x7b            dshl                将double型数值左移指定位置并将结果压入栈顶
    0x7c            iushr               将int型数值右(带符号)移位指定位数并将结果压入栈顶
    0x7d            lushr               将long型数值右(带符号)移位指定位数并将结果压入栈顶
    0x7e            iand                将栈顶两int型数值作"按位与"并将结果压入栈顶
    0x7f            land                将栈顶两long型数值作"按位与"并将结果压入栈顶
    0x80            ior                 将栈顶两int型数值作"按位或"并将结果压入栈顶
    0x81            lor                 将栈顶两long型数值作"按位或"并将结果压入栈顶
    0x82            ixor                将栈顶两int型数值作"按位异或"并将结果压入栈顶
    0x83            lxor                将栈顶两long型数值作"按位异或"并将结果压入栈顶
    0x84            iinc                将指定int型变量增加指定值(如i++、i--、i+=2等)
    0x85            i2l                 将栈顶int型数值强制转换成long型数值并将结果压入栈顶
    0x86            i2f                 将栈顶int型数值强制转换成float型数值并将结果压入栈顶
    0x87            i2d                 将栈顶int型数值强制转换成double型数值将结果压入栈顶
    0x88            l2i                 将栈顶long型数值强制转换成int型数值并将结果压入栈顶
    0x89            l2f                 将栈顶long型数值强制转换成float型数值并将结果压入栈顶
    0x8a            l2d                 将栈顶long型数值强制转换成double型数值并将结果压入栈顶
    0x8b            f2i                 将栈顶float型数值强制转换成int型数值并将结果压入栈顶
    0x8c            f2l                 将栈顶float型数值强制转换成long型数值并将结果压入栈顶
   
---------------------------------------------------------------------------------------------------------

    字节码          助记符              指令含义
    0x8d            f2d                 将栈顶float型数值强制转换成double型数值并将结果压入栈顶
    0x8e            d2i                 将栈顶double型数值强制转换成int型数值并将结构压入栈顶
    0x8f            d2l                 将栈顶double型数值强制转换成long型数值并将结果压入栈顶
    0x90            d2f                 将栈顶double型数值强制转换成float型数值并将结果压入栈顶
    0x91            i2b                 将栈顶int型数值强制转换成byte型数值并将结果压入栈顶
    0x92            i2c                 将栈顶int型数值强制转换成char型数值并将结果压入栈顶
    0x93            i2s                 将栈顶int型数值强制转换成short型数值并将结果压入栈顶
    0x94            lcmp                比较栈顶两long型数值的大小,并将结果(1、0或-1)压入栈顶
    0x95            fcmpl               比较栈顶两float型数值的大小,并将结果(1、0或-1)压入栈顶;当其中一个数值为"NaN"时,将-1压入栈顶
    0x96            fcmpg               比较栈顶两float型数值的大小,并将结果(1、0或-1)压入栈顶;当其中一个数值为"NaN"时,将1压入栈顶
    0x97            dcmpl               比较栈顶两double型数值的大小,并将结果(1、0或-1)压入栈顶;当其中一个数值为"NaN"时,将-1压入栈顶
    0x98            dcmpg               比较栈顶两double型数值的大小,并将结果(1、0或-1)压入栈顶;当其中一个数值为"NaN"时,将1压入栈顶
    0x99            ifeq                当栈顶int型数值等于0时跳转
    0x9a            ifne                当栈顶int型数值不等于0时跳转
    0x9b            iflt                当栈顶int型数值小于0时跳转
    0x9c            ifge                当栈顶int型数值大于或等于0时跳转
    0x9d            ifgt                当栈顶int型数值大于0时跳转
    0x9e            ifle                当栈顶int型数值小于或等于0时跳转
    0x9f            if_icmpeq           比较栈顶两int型数值的大小,当结果等于0时跳转
    0xa0            if_icmpne           比较栈顶两int型数值的大小,当结果不等于0时跳转
    0xa1            if_icmplt           比较栈顶两int型数值的大小,当结果小于0时跳转
    0xa2            if_icmpge           比较栈顶两int型数值的大小,当结果大于等于0时跳转
    0xa3            if_icmpgt           比较栈顶两int型数值的大小,当结果大于0时跳转
    0xa4            if_icmple           比较栈顶两int型数值的大小,当结果小于或等于0时跳转
    0xa5            if_acmpeq           比较栈顶两引用型数值,当结果相等时跳转
    0xa6            if_acmpne           比较栈顶两引用型数值,当结果不相等时跳转
    0xa7            goto                无条件跳转
    0xa8            jsr                 跳转至指定的16位offset位置,并将jsr的下一条指令地址压入栈顶
    0xa9            ret                 返回至本地变量指定的index的指令位置(一般与jsr或jsr_w联合使用)
    0xaa            tableswitch         用于switch条件跳转,case值连续(可变长度指令)
    0xab            lookupswitch        用于switch条件跳转,case值不联系(可变长度指令)
    0xac            ireturn             从当前方法返回int
    0xad            lreturn             从当前方法返回long
        
---------------------------------------------------------------------------------------------------------

    字节码          助记符              指令含义
    0xae            freturn             从当前方法返回float
    0xaf            dreturn             从当前方法返回double
    0xb0            areturn             从当前方法返回对象引用
    0xb1            return              从当前方法返回void
    0xb2            getstatic           获取指定类的实例域,并将其值压入栈顶
    0xb3            putstatic           为指定的类的静态域赋值
    0xb4            getfield            获取指定类的实例域,并将其值压入栈顶
    0xb5            putfield            为指定的类的实例域赋值
    0xb6            invokevirtual       调用实例方法
    0xb7            invokespecial       调用超类构造方法,实例初始化方法,私有方法
    0xb8            invokestatic        调用静态方法
    0xb9            invokeinterface     调用接口方法
    0xba            invokedynamic       invokes a dynamic method and puts the result on the stack(might be void)
    0xbb            new                 创建一个对象,并将其引用值压入栈顶
    0xbc            newarray            创建一个指定的原始类型(如int/float/char等)的数组,并将其引用值压入栈顶获得数组的长度并压入栈顶
    0xbd            anewarray           创建一个引用类型(如类/接口/数组)的数组,并将其引用值压入栈顶
    0xbe            arraylength         获得数组的长度值并压入栈顶
    0xbf            athrow              将栈顶的异常抛出
    0xc0            checkcast           检验类型转换,检验未通过将抛出ClassCastException
    0xc1            instanceof          检验对象是否是指定的类的实例,如果是将1压入栈顶,否则将0压入栈顶
    0xc2            monitorenter        获得对象的锁,用于同步方法或同步块
    0xc3            monitorexit         释放对象的锁,用于同步方法或同步块
    0xc4            wide                扩展本地变量的宽度
    0xc5            multianewarray      创建指定类型和指定维度的多维数组(执行该指令时,操作栈中必须包含各维度的长度值),并将其引用值压入栈顶
    0xc6            ifnull              为null时跳转
    0xc7            ifnonnull           不为null时跳转
    0xc8            goto_w              无条件跳转(宽索引)
    0xc9            jsr_w               跳转至指定的32位offset位置,并将jsr_w的下一条地址压入栈顶




© 2015 - 2025 Weber Informatics LLC | Privacy Policy