⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 intel86.java

📁 java 到c的转换程序的原代码.对喜欢C程序而不懂JAVA程序的人很有帮助
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
            throw new InternalError ("Intel86: Invalid IDIV source operand: " + src);   // DO NOT EDIT        }   // DO NOT EDIT        return encode (makeByteArray (0xf6 | valWFlag (src)),   // DO NOT EDIT                       makeModRM (0x07, src),   // DO NOT EDIT                       null);   // DO NOT EDIT    }   // DO NOT EDIT   // DO NOT EDIT    public byte []   // DO NOT EDIT    IMUL (Object src) {   // DO NOT EDIT        int sot = checkOperand (src);   // DO NOT EDIT        if ((OT_mem != sot) && (OT_reg != sot)) {   // DO NOT EDIT            throw new InternalError ("Intel86: Invalid IMUL source operand: " + src);   // DO NOT EDIT        }   // DO NOT EDIT        return encode (makeByteArray (0xf6 | valWFlag (src)),   // DO NOT EDIT                       makeModRM (0x05, src),   // DO NOT EDIT                       null);   // DO NOT EDIT    }   // DO NOT EDIT   // DO NOT EDIT    public byte []   // DO NOT EDIT    CBW ()   // DO NOT EDIT    {   // DO NOT EDIT        return encode (0x98);   // DO NOT EDIT    }   // DO NOT EDIT   // DO NOT EDIT    public byte []   // DO NOT EDIT    PrefixOPSIZE ()   // DO NOT EDIT    {   // DO NOT EDIT        return encode (0x66);   // DO NOT EDIT    }   // DO NOT EDIT   // DO NOT EDIT    public byte []   // DO NOT EDIT    CWD ()   // DO NOT EDIT    {   // DO NOT EDIT        return encode (0x99);   // DO NOT EDIT    }   // DO NOT EDIT   // DO NOT EDIT    public byte []   // DO NOT EDIT    LEAVE ()   // DO NOT EDIT    {   // DO NOT EDIT        return encode (0xc9);   // DO NOT EDIT    }   // DO NOT EDIT   // DO NOT EDIT    public byte []   // DO NOT EDIT    RET ()   // DO NOT EDIT    {   // DO NOT EDIT        return encode (0xc3);   // DO NOT EDIT    }   // DO NOT EDIT   // DO NOT EDIT    public byte []   // DO NOT EDIT    FCHS ()   // DO NOT EDIT    {   // DO NOT EDIT        return encode (0xd9, 0xe0);   // DO NOT EDIT    }   // DO NOT EDIT   // DO NOT EDIT    public byte []   // DO NOT EDIT    FTST ()   // DO NOT EDIT    {   // DO NOT EDIT        return encode (0xd9, 0xe4);   // DO NOT EDIT    }   // DO NOT EDIT   // DO NOT EDIT    public byte []   // DO NOT EDIT    FRNDINT ()   // DO NOT EDIT    {   // DO NOT EDIT        return encode (0xd9, 0xfc);   // DO NOT EDIT    }   // DO NOT EDIT   // DO NOT EDIT    public byte []   // DO NOT EDIT    FNSTSW ()   // DO NOT EDIT    {   // DO NOT EDIT        return encode (0xdf, 0xe0);   // DO NOT EDIT    }   // DO NOT EDIT   // DO NOT EDIT    public byte []   // DO NOT EDIT    FUCOMPP ()   // DO NOT EDIT    {   // DO NOT EDIT        return encode (0xda, 0xe9);   // DO NOT EDIT    }   // DO NOT EDIT   // DO NOT EDIT    public byte []   // DO NOT EDIT    FSTP (Object op) {   // DO NOT EDIT        MemoryRef mop;   // DO NOT EDIT           // DO NOT EDIT        try {   // DO NOT EDIT            mop = (MemoryRef) op;   // DO NOT EDIT        } catch (ClassCastException e) {   // DO NOT EDIT            throw new InternalError ("Intel86: FSTP must take MemoryRef operand: " + op);   // DO NOT EDIT        }   // DO NOT EDIT        return encode (makeByteArray (0xd9 | valFFlag (op)),   // DO NOT EDIT                       makeModRM (3, op),   // DO NOT EDIT                       null);   // DO NOT EDIT    }   // DO NOT EDIT   // DO NOT EDIT    public byte []   // DO NOT EDIT    FLD (Object op) {   // DO NOT EDIT        MemoryRef mop;   // DO NOT EDIT           // DO NOT EDIT        try {   // DO NOT EDIT            mop = (MemoryRef) op;   // DO NOT EDIT        } catch (ClassCastException e) {   // DO NOT EDIT            throw new InternalError ("Intel86: FLD must take MemoryRef operand: " + op);   // DO NOT EDIT        }   // DO NOT EDIT        return encode (makeByteArray (0xd9 | valFFlag (op)),   // DO NOT EDIT                       makeModRM (0, op),   // DO NOT EDIT                       null);   // DO NOT EDIT    }   // DO NOT EDIT   // DO NOT EDIT    public byte []   // DO NOT EDIT    FLDCW (Object op) {   // DO NOT EDIT        MemoryRef mop;   // DO NOT EDIT           // DO NOT EDIT        try {   // DO NOT EDIT            mop = (MemoryRef) op;   // DO NOT EDIT        } catch (ClassCastException e) {   // DO NOT EDIT            throw new InternalError ("Intel86: FLDCW must take MemoryRef operand: " + op);   // DO NOT EDIT        }   // DO NOT EDIT        return encode (makeByteArray (0xd9 | valFFlag (op)),   // DO NOT EDIT                       makeModRM (5, op),   // DO NOT EDIT                       null);   // DO NOT EDIT    }   // DO NOT EDIT   // DO NOT EDIT    public byte []   // DO NOT EDIT    FNSTCW (Object op) {   // DO NOT EDIT        MemoryRef mop;   // DO NOT EDIT           // DO NOT EDIT        try {   // DO NOT EDIT            mop = (MemoryRef) op;   // DO NOT EDIT        } catch (ClassCastException e) {   // DO NOT EDIT            throw new InternalError ("Intel86: FNSTCW must take MemoryRef operand: " + op);   // DO NOT EDIT        }   // DO NOT EDIT        return encode (makeByteArray (0xd9 | valFFlag (op)),   // DO NOT EDIT                       makeModRM (7, op),   // DO NOT EDIT                       null);   // DO NOT EDIT    }   // DO NOT EDIT   // DO NOT EDIT    public byte []   // DO NOT EDIT    FILD (Object op) {   // DO NOT EDIT        MemoryRef mop;   // DO NOT EDIT           // DO NOT EDIT        try {   // DO NOT EDIT            mop = (MemoryRef) op;   // DO NOT EDIT        } catch (ClassCastException e) {   // DO NOT EDIT            throw new InternalError ("Intel86: FILD must take MemoryRef operand: " + op);   // DO NOT EDIT        }   // DO NOT EDIT        switch (((MemoryRef)op).getRefSize ()) {   // DO NOT EDIT            case 2:   // DO NOT EDIT                return encode (makeByteArray (0xdf),   // DO NOT EDIT                               makeModRM (0, op),   // DO NOT EDIT                               null);   // DO NOT EDIT            case 4:   // DO NOT EDIT                return encode (makeByteArray (0xdb),   // DO NOT EDIT                               makeModRM (0, op),   // DO NOT EDIT                               null);   // DO NOT EDIT            case 8:   // DO NOT EDIT                return encode (makeByteArray (0xdf),   // DO NOT EDIT                               makeModRM (5, op),   // DO NOT EDIT                               null);   // DO NOT EDIT            default:   // DO NOT EDIT                throw new InternalError ("Intel86: Unsupported FILD size: " + op);   // DO NOT EDIT        }   // DO NOT EDIT    }   // DO NOT EDIT   // DO NOT EDIT    public byte []   // DO NOT EDIT    FISTP (Object op) {   // DO NOT EDIT        MemoryRef mop;   // DO NOT EDIT           // DO NOT EDIT        try {   // DO NOT EDIT            mop = (MemoryRef) op;   // DO NOT EDIT        } catch (ClassCastException e) {   // DO NOT EDIT            throw new InternalError ("Intel86: FISTP must take MemoryRef operand: " + op);   // DO NOT EDIT        }   // DO NOT EDIT        switch (((MemoryRef)op).getRefSize ()) {   // DO NOT EDIT            case 2:   // DO NOT EDIT                return encode (makeByteArray (0xdf),   // DO NOT EDIT                               makeModRM (3, op),   // DO NOT EDIT                               null);   // DO NOT EDIT            case 4:   // DO NOT EDIT                return encode (makeByteArray (0xdb),   // DO NOT EDIT                               makeModRM (3, op),   // DO NOT EDIT                               null);   // DO NOT EDIT            case 8:   // DO NOT EDIT                return encode (makeByteArray (0xdf),   // DO NOT EDIT                               makeModRM (7, op),   // DO NOT EDIT                               null);   // DO NOT EDIT            default:   // DO NOT EDIT                throw new InternalError ("Intel86: Unsupported FISTP size: " + op);   // DO NOT EDIT        }   // DO NOT EDIT    }   // DO NOT EDIT   // DO NOT EDIT    public byte []   // DO NOT EDIT    FADDP (Object src) {   // DO NOT EDIT        int sot = checkOperand (src);   // DO NOT EDIT        if (OT_fpstack != sot) {   // DO NOT EDIT            throw new InternalError ("Intel86: Invalid type " + sot + " for FADDP source: " + src);   // DO NOT EDIT        }   // DO NOT EDIT        return encode (0xde, 0xc0 | ((Register)src).getRegBitName ());   // DO NOT EDIT    }   // DO NOT EDIT   // DO NOT EDIT    public byte []   // DO NOT EDIT    FDIVRP (Object src) {   // DO NOT EDIT        int sot = checkOperand (src);   // DO NOT EDIT        if (OT_fpstack != sot) {   // DO NOT EDIT            throw new InternalError ("Intel86: Invalid type " + sot + " for FDIVRP source: " + src);   // DO NOT EDIT        }   // DO NOT EDIT        return encode (0xde, 0xf0 | ((Register)src).getRegBitName ());   // DO NOT EDIT    }   // DO NOT EDIT   // DO NOT EDIT    public byte []   // DO NOT EDIT    FMULP (Object src) {   // DO NOT EDIT        int sot = checkOperand (src);   // DO NOT EDIT        if (OT_fpstack != sot) {   // DO NOT EDIT            throw new InternalError ("Intel86: Invalid type " + sot + " for FMULP source: " + src);   // DO NOT EDIT        }   // DO NOT EDIT        return encode (0xde, 0xc8 | ((Register)src).getRegBitName ());   // DO NOT EDIT    }   // DO NOT EDIT   // DO NOT EDIT    public byte []   // DO NOT EDIT    FSUBRP (Object src) {   // DO NOT EDIT        int sot = checkOperand (src);   // DO NOT EDIT        if (OT_fpstack != sot) {   // DO NOT EDIT            throw new InternalError ("Intel86: Invalid type " + sot + " for FSUBRP source: " + src);   // DO NOT EDIT        }   // DO NOT EDIT        return encode (0xde, 0xe0 | ((Register)src).getRegBitName ());   // DO NOT EDIT    }   // DO NOT EDIT   // DO NOT EDIT    public byte []   // DO NOT EDIT    INC (Object dst)   // DO NOT EDIT    {   // DO NOT EDIT        int dot = checkOperand (dst);   // DO NOT EDIT        if (OT_reg == dot) {   // DO NOT EDIT            Register rOp = (Register) dst;   // DO NOT EDIT            if (! rOp.is8BitReg ()) {   // DO NOT EDIT                return encode (0x40 | rOp.getRegBitName ());   // DO NOT EDIT            }   // DO NOT EDIT        }   // DO NOT EDIT        return encode (makeByteArray (0xfe | valWFlag (dst)),   // DO NOT EDIT                       makeModRM (0, dst),   // DO NOT EDIT                       null);   // DO NOT EDIT    }   // DO NOT EDIT    public byte []   // DO NOT EDIT    DEC (Object dst)   // DO NOT EDIT    {   // DO NOT EDIT        int dot = checkOperand (dst);   // DO NOT EDIT        if (OT_reg == dot) {   // DO NOT EDIT            Register rOp = (Register) dst;   // DO NOT EDIT            if (! rOp.is8BitReg ()) {   // DO NOT EDIT                return encode (0x48 | rOp.getRegBitName ());   // DO NOT EDIT            }   // DO NOT EDIT        }   // DO NOT EDIT        return encode (makeByteArray (0xfe | valWFlag (dst)),   // DO NOT EDIT                       makeModRM (1, dst),   // DO NOT EDIT                       null);   // DO NOT EDIT    }   // DO NOT EDIT    public byte []   // DO NOT EDIT    ADD (Object src,   // DO NOT EDIT         Object dst)   // DO NOT EDIT    {   // DO NOT EDIT        int sot = checkOperand (src);   // DO NOT EDIT        int dot = checkOperand (dst);   // DO NOT EDIT        if (OT_imm == sot) {   // DO NOT EDIT            Immediate imOp = (Immediate) src;   // DO NOT EDIT               // DO NOT EDIT            if (OT_reg == dot) {   // DO NOT EDIT                Register rOp = (Register) dst;   // DO NOT EDIT                   // DO NOT EDIT                if (rOp.isAReg ()) {   // DO NOT EDIT                    boolean byteOp;   // DO NOT EDIT   // DO NOT EDIT                    byteOp = rOp.is8BitReg ();   // DO NOT EDIT                    return encode (   // DO NOT EDIT                        makeByteArray (0x04 | (byteOp ? 0x00 : WFlag)),   // DO NOT EDIT                        null,   // DO NOT EDIT                        makeByteArray (imOp.setImmSize (byteOp ? 1 : 4)));   // DO NOT EDIT                }   // DO NOT EDIT            }   // DO NOT EDIT            int wFlag;   // DO NOT EDIT            wFlag = valWFlag (dst);   // DO NOT EDIT            return encode (   // DO NOT EDIT                makeByteArray (0x80   // DO NOT EDIT                               | valSFlag (imOp)   // DO NOT EDIT                               | wFlag),   // DO NOT EDIT                makeModRM (0, dst),   // DO NOT EDIT                makeByteArray (imOp));   // DO NOT EDIT        }   // DO NOT EDIT        return encode (makeByteArray (0x00   // DO NOT EDIT                                      | valDFlag (src, dst)   // DO NOT EDIT                                      | valWFlag (src, dst)),   // DO NOT EDIT                       makeModRM (src, dst),   // DO NOT EDIT                       null);   // DO NOT EDIT    }   // DO NOT EDIT   // DO NOT EDIT    public byte []   // DO NOT EDIT    OR (Object src,   // DO NOT EDIT         Object dst)   // DO NOT EDIT    {   // DO NOT EDIT        int sot = checkOperand (src);   // DO NOT EDIT        int dot = checkOperand (dst);   // DO NOT EDIT        if (OT_imm == sot) {   // DO NOT EDIT            Immediate imOp = (Immediate) src;   // DO NOT EDIT               // DO NOT EDIT            if (OT_reg == dot) {   // DO NOT EDIT                Register rOp = (Register) dst;   // DO NOT EDIT                   // DO NOT EDIT                if (rOp.isAReg ()) {   // DO NOT EDIT                    boolean byteOp;   // DO NOT EDIT   // DO NOT EDIT                    byteOp = rOp.is8BitReg ();   // DO NOT EDIT                    return encode (   // DO NOT EDIT                        makeByteArray (0x0c | (byteOp ? 0x00 : WFlag)),   // DO NOT EDIT                        null,   // DO NOT EDIT                        makeByteArray (imOp.setImmSize (byteOp ? 1 : 4)));   // DO NOT EDIT                }   // DO NOT EDIT            }   // DO NOT EDIT            int wFlag;   // DO NOT EDIT            wFlag = valWFlag (dst);   // DO NOT EDIT            return encode (   // DO NOT EDIT                makeByteArray (0x80   // DO NOT EDIT                               | valSFlag (imOp)   // DO NOT EDIT                               | wFlag),   // DO NOT EDIT                makeModRM (1, dst),   // DO NOT EDIT                makeByteArray (imOp));   // DO NOT EDIT        }   // DO NOT EDIT        return encode (makeByteArray (0x08   // DO NOT EDIT                                      | valDFlag (src, dst)   // DO NOT EDIT                                      | valWFlag (src, dst)),   // DO NOT EDIT                       makeModRM (src, dst),   // DO NOT EDIT                       null);   // DO NOT EDIT    }   // DO NOT EDIT   // DO NOT EDIT    public byte []   // DO NOT EDIT    ADC (Object src,   // DO NOT EDIT         Object dst)   // DO NOT EDIT    {   // DO NOT EDIT        int sot = checkOperand (src);   // DO NOT EDIT        int dot = checkOperand (dst);   // DO NOT EDIT        if (OT_imm == sot) {   // DO NOT EDIT            Immediate imOp = (Immediate) src;   // DO NOT EDIT               // DO NOT EDIT            if (OT_reg == dot) {   // DO NOT EDIT                Register rOp = (Register) dst;   // DO NOT EDIT                   // DO NOT EDIT                if (rOp.isAReg ()) {   // DO NOT EDIT                    boolean byteOp;   // DO NOT EDIT   // DO NOT EDIT                    byteOp = rOp.is8BitReg ();   // DO NOT EDIT                    return encode (   // DO NOT EDIT                        makeByteArray (0x14 | (byteOp ? 0x00 : WFlag)),   // DO NOT EDIT                        null,   // DO NOT EDIT                        makeByteArray (imOp.setImmSize (byteOp ? 1 : 4)));   // DO NOT EDIT                }   // DO NOT EDIT            }   // DO NOT EDIT            int wFlag;   // DO NOT EDIT            wFlag = valWFlag (dst);   // DO NOT EDIT            return encode (   // DO NOT EDIT                makeByteArray (0x80   // DO NOT EDIT                               | valSFlag (imOp)   // DO NOT EDIT                               | wFlag),   // DO NOT EDIT                makeModRM (2, dst),   // DO NOT EDIT                makeByteArray (imOp));   // DO NOT EDIT        }   // DO NOT EDIT        return encode (makeByteArray (0x10   // DO NOT EDIT             

⌨️ 快捷键说明

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