bytecodeparser.java

来自「纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统」· Java 代码 · 共 1,117 行 · 第 1/3 页

JAVA
1,117
字号
                handler.visit_dstore(getu1());
                break;
            case 0x3a:
                handler.visit_astore(getu1());
                break;
            case 0x3b:
                handler.visit_istore(0);
                break;
            // -- 60 --
            case 0x3c:
                handler.visit_istore(1);
                break;
            case 0x3d:
                handler.visit_istore(2);
                break;
            case 0x3e:
                handler.visit_istore(3);
                break;
            case 0x3f:
                handler.visit_lstore(0);
                break;
            case 0x40:
                handler.visit_lstore(1);
                break;
            case 0x41:
                handler.visit_lstore(2);
                break;
            case 0x42:
                handler.visit_lstore(3);
                break;
            case 0x43:
                handler.visit_fstore(0);
                break;
            case 0x44:
                handler.visit_fstore(1);
                break;
            case 0x45:
                handler.visit_fstore(2);
                break;
            // -- 70 --
            case 0x46:
                handler.visit_fstore(3);
                break;
            case 0x47:
                handler.visit_dstore(0);
                break;
            case 0x48:
                handler.visit_dstore(1);
                break;
            case 0x49:
                handler.visit_dstore(2);
                break;
            case 0x4a:
                handler.visit_dstore(3);
                break;
            case 0x4b:
                handler.visit_astore(0);
                break;
            case 0x4c:
                handler.visit_astore(1);
                break;
            case 0x4d:
                handler.visit_astore(2);
                break;
            case 0x4e:
                handler.visit_astore(3);
                break;
            case 0x4f:
                handler.visit_iastore();
                break;
            // -- 80 --
            case 0x50:
                handler.visit_lastore();
                break;
            case 0x51:
                handler.visit_fastore();
                break;
            case 0x52:
                handler.visit_dastore();
                break;
            case 0x53:
                handler.visit_aastore();
                break;
            case 0x54:
                handler.visit_bastore();
                break;
            case 0x55:
                handler.visit_castore();
                break;
            case 0x56:
                handler.visit_sastore();
                break;
            case 0x57:
                handler.visit_pop();
                break;
            case 0x58:
                handler.visit_pop2();
                break;
            case 0x59:
                handler.visit_dup();
                break;
            // -- 90 --
            case 0x5a:
                handler.visit_dup_x1();
                break;
            case 0x5b:
                handler.visit_dup_x2();
                break;
            case 0x5c:
                handler.visit_dup2();
                break;
            case 0x5d:
                handler.visit_dup2_x1();
                break;
            case 0x5e:
                handler.visit_dup2_x2();
                break;
            case 0x5f:
                handler.visit_swap();
                break;
            case 0x60:
                handler.visit_iadd();
                break;
            case 0x61:
                handler.visit_ladd();
                break;
            case 0x62:
                handler.visit_fadd();
                break;
            case 0x63:
                handler.visit_dadd();
                break;
            // -- 100 --
            case 0x64:
                handler.visit_isub();
                break;
            case 0x65:
                handler.visit_lsub();
                break;
            case 0x66:
                handler.visit_fsub();
                break;
            case 0x67:
                handler.visit_dsub();
                break;
            case 0x68:
                handler.visit_imul();
                break;
            case 0x69:
                handler.visit_lmul();
                break;
            case 0x6a:
                handler.visit_fmul();
                break;
            case 0x6b:
                handler.visit_dmul();
                break;
            case 0x6c:
                handler.visit_idiv();
                break;
            case 0x6d:
                handler.visit_ldiv();
                break;
            // -- 110 --
            case 0x6e:
                handler.visit_fdiv();
                break;
            case 0x6f:
                handler.visit_ddiv();
                break;
            case 0x70:
                handler.visit_irem();
                break;
            case 0x71:
                handler.visit_lrem();
                break;
            case 0x72:
                handler.visit_frem();
                break;
            case 0x73:
                handler.visit_drem();
                break;
            case 0x74:
                handler.visit_ineg();
                break;
            case 0x75:
                handler.visit_lneg();
                break;
            case 0x76:
                handler.visit_fneg();
                break;
            case 0x77:
                handler.visit_dneg();
                break;
            // -- 120 --
            case 0x78:
                handler.visit_ishl();
                break;
            case 0x79:
                handler.visit_lshl();
                break;
            case 0x7a:
                handler.visit_ishr();
                break;
            case 0x7b:
                handler.visit_lshr();
                break;
            case 0x7c:
                handler.visit_iushr();
                break;
            case 0x7d:
                handler.visit_lushr();
                break;
            case 0x7e:
                handler.visit_iand();
                break;
            case 0x7f:
                handler.visit_land();
                break;
            case 0x80:
                handler.visit_ior();
                break;
            case 0x81:
                handler.visit_lor();
                break;
            // -- 130 --
            case 0x82:
                handler.visit_ixor();
                break;
            case 0x83:
                handler.visit_lxor();
                break;
            case 0x84:
                {
                    int idx = getu1();
                    handler.visit_iinc(idx, gets1());
                }
                break;
            case 0x85:
                handler.visit_i2l();
                break;
            case 0x86:
                handler.visit_i2f();
                break;
            case 0x87:
                handler.visit_i2d();
                break;
            case 0x88:
                handler.visit_l2i();
                break;
            case 0x89:
                handler.visit_l2f();
                break;
            case 0x8a:
                handler.visit_l2d();
                break;
            case 0x8b:
                handler.visit_f2i();
                break;
            // -- 140 --
            case 0x8c:
                handler.visit_f2l();
                break;
            case 0x8d:
                handler.visit_f2d();
                break;
            case 0x8e:
                handler.visit_d2i();
                break;
            case 0x8f:
                handler.visit_d2l();
                break;
            case 0x90:
                handler.visit_d2f();
                break;
            case 0x91:
                handler.visit_i2b();
                break;
            case 0x92:
                handler.visit_i2c();
                break;
            case 0x93:
                handler.visit_i2s();
                break;
            case 0x94:
                handler.visit_lcmp();
                break;
            case 0x95:
                handler.visit_fcmpl();
                break;
            // -- 150 --
            case 0x96:
                handler.visit_fcmpg();
                break;
            case 0x97:
                handler.visit_dcmpl();
                break;
            case 0x98:
                handler.visit_dcmpg();
                break;
            case 0x99:
                handler.visit_ifeq(address + gets2());
                break;
            case 0x9a:
                handler.visit_ifne(address + gets2());
                break;
            case 0x9b:
                handler.visit_iflt(address + gets2());
                break;
            case 0x9c:
                handler.visit_ifge(address + gets2());
                break;
            case 0x9d:
                handler.visit_ifgt(address + gets2());
                break;
            case 0x9e:
                handler.visit_ifle(address + gets2());
                break;
            case 0x9f:
                handler.visit_if_icmpeq(address + gets2());
                break;
            // -- 160 --
            case 0xa0:
                handler.visit_if_icmpne(address + gets2());
                break;
            case 0xa1:
                handler.visit_if_icmplt(address + gets2());
                break;
            case 0xa2:
                handler.visit_if_icmpge(address + gets2());
                break;
            case 0xa3:
                handler.visit_if_icmpgt(address + gets2());
                break;
            case 0xa4:
                handler.visit_if_icmple(address + gets2());
                break;
            case 0xa5:
                handler.visit_if_acmpeq(address + gets2());
                break;
            case 0xa6:
                handler.visit_if_acmpne(address + gets2());
                break;
            case 0xa7:
                handler.visit_goto(address + gets2());
                break;
            case 0xa8:
                handler.visit_jsr(address + gets2());
                break;
            case 0xa9:
                handler.visit_ret(getu1());
                break;
            // -- 170 --
            case 0xaa:
                {
                    skipPadding();
                    int defAddress = address + gets4();
                    int lowValue = gets4();
                    int highValue = gets4();
                    if (highValue < lowValue) { throw new ClassFormatError(
                            "tableSwitch high < low! (high=" + highValue
                                    + ", low=" + lowValue + ")"); }
                    int cnt = highValue - lowValue + 1;
                    int addresses[] = new int[ cnt];
                    for (int i = 0; i < cnt; i++) {
                        addresses[ i] = address + gets4();
                    }
                    handler.visit_tableswitch(defAddress, lowValue, highValue,
                            addresses);
                }
                break;
            case 0xab:
                {

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?