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

📄 ucodestaticmethods.java

📁 JPC: x86 PC Hardware Emulator. 牛津大学开发的一个纯JAVA的x86系统结构硬件模拟器。
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
    }

    public static Segment seg0_nef_LOAD_SEG_GS_gs(Segment gs)
    {
        return gs;
    }

    public static Segment seg0_nef_LOAD_SEG_SS_ss(Segment ss)
    {
        return ss;
    }

    public static int eax_nef_STORE0_AL_eax_reg0(int eax, int reg0)
    {
        return (eax & ~0xff) | (reg0 & 0xff);
    }

    public static int ecx_nef_STORE0_CL_ecx_reg0(int ecx, int reg0)
    {
        return (ecx & ~0xff) | (reg0 & 0xff);
    }

    public static int edx_nef_STORE0_DL_edx_reg0(int edx, int reg0)
    {
        return (edx & ~0xff) | (reg0 & 0xff);
    }

    public static int ebx_nef_STORE0_BL_ebx_reg0(int ebx, int reg0)
    {
        return (ebx & ~0xff) | (reg0 & 0xff);
    }

    public static int eax_nef_STORE0_AH_eax_reg0(int eax, int reg0)
    {
        return (eax & ~0xff00) | ((reg0 << 8) & 0xff00);
    }

    public static int ecx_nef_STORE0_CH_ecx_reg0(int ecx, int reg0)
    {
        return (ecx & ~0xff00) | ((reg0 << 8) & 0xff00);
    }

    public static int edx_nef_STORE0_DH_edx_reg0(int edx, int reg0)
    {
        return (edx & ~0xff00) | ((reg0 << 8) & 0xff00);
    }

    public static int ebx_nef_STORE0_BH_ebx_reg0(int ebx, int reg0)
    {
        return (ebx & ~0xff00) | ((reg0 << 8) & 0xff00);
    }

    public static int eax_nef_STORE0_AX_eax_reg0(int eax, int reg0)
    {
        return (eax & ~0xffff) | (reg0 & 0xffff);
    }

    public static int ecx_nef_STORE0_CX_ecx_reg0(int ecx, int reg0)
    {
        return (ecx & ~0xffff) | (reg0 & 0xffff);
    }

    public static int edx_nef_STORE0_DX_edx_reg0(int edx, int reg0)
    {
        return (edx & ~0xffff) | (reg0 & 0xffff);
    }

    public static int ebx_nef_STORE0_BX_ebx_reg0(int ebx, int reg0)
    {
        return (ebx & ~0xffff) | (reg0 & 0xffff);
    }

    public static int esp_nef_STORE0_SP_esp_reg0(int esp, int reg0)
    {
        return (esp & ~0xffff) | (reg0 & 0xffff); 
    }

    public static int ebp_nef_STORE0_BP_ebp_reg0(int ebp, int reg0)
    {
        return (ebp & ~0xffff) | (reg0 & 0xffff);
    }

    public static int esi_nef_STORE0_SI_esi_reg0(int esi, int reg0)
    {
        return (esi & ~0xffff) | (reg0 & 0xffff);
    }

    public static int edi_nef_STORE0_DI_edi_reg0(int edi, int reg0)
    {
        return (edi & ~0xffff) | (reg0 & 0xffff);
    }

    public static int eax_nef_STORE0_EAX_reg0(int reg0)
    {
        return reg0;
    }

    public static int ecx_nef_STORE0_ECX_reg0(int reg0)
    {
        return reg0;
    }

    public static int edx_nef_STORE0_EDX_reg0(int reg0)
    {
        return reg0;
    }

    public static int ebx_nef_STORE0_EBX_reg0(int reg0)
    {
        return reg0;
    }

    public static int esp_nef_STORE0_ESP_reg0(int reg0)
    {
        return reg0;
    }

    public static int ebp_nef_STORE0_EBP_reg0(int reg0)
    {
        return reg0;
    }

    public static int esi_nef_STORE0_ESI_reg0(int reg0)
    {
        return reg0;
    }

    public static int edi_nef_STORE0_EDI_reg0(int reg0)
    {
        return reg0;
    }

//     public static Segment es_hef_STORE0_ES_ldtr_gdtr_reg0(Segment ldtr, Segment gdtr, int reg0)
//     {
// 	reg0 &= 0xffff;
// 	if (reg0 < 0x4)
// 	    return SegmentFactory.NULL_SEGMENT;

//         try {
//             return cpu.getSegment(reg0, ldtr, gdtr);
//         } catch (ProcessorException e) {
//             throw new IllegalStateException(e.toString());
//         }
//     }

//     public static Segment cs_hef_STORE0_CS_reg0_cs(Segment ldtr, Segment gdtr, int reg0)
//     {
//         cs.setSelector(0xffff & reg0);
//         return cs;
//     }

//     public static Segment ss_hef_STORE0_SS_ldtr_gdtr_reg0(Segment ldtr, Segment gdtr, int reg0)
//     {
// 	reg0 &= 0xffff;
// 	if (reg0 < 0x4)
// 	    throw exceptionGP;

//         try {
//             return cpu.getSegment(reg0, ldtr, gdtr);
//         } catch (ProcessorException e) {
//             throw new IllegalStateException(e.toString());
//         }
//     }

//     public static Segment ds_hef_STORE0_DS_ldtr_gdtr_reg0(Segment ldtr, Segment gdtr, int reg0)
//     {
// 	reg0 &= 0xffff;
// 	if (reg0 < 0x4)
// 	    return SegmentFactory.NULL_SEGMENT;

//         try {
//             return cpu.getSegment(reg0, ldtr, gdtr);
//         } catch (ProcessorException e) {
//             throw new IllegalStateException(e.toString());
//         }
//     }

//     public static Segment fs_hef_STORE0_FS_ldtr_gdtr_reg0(Segment ldtr, Segment gdtr, int reg0)
//     {
// 	reg0 &= 0xffff;
// 	if (reg0 < 0x4)
// 	    return SegmentFactory.NULL_SEGMENT;

//         try {
//             return cpu.getSegment(reg0, ldtr, gdtr);
//         } catch (ProcessorException e) {
//             throw new IllegalStateException(e.toString());
//         }
//     }

//     public static Segment gs_hef_STORE0_GS_ldtr_gdtr_reg0(Segment ldtr, Segment gdtr, int reg0)
//     {
// 	reg0 &= 0xffff;
// 	if (reg0 < 0x4)
// 	    return SegmentFactory.NULL_SEGMENT;

//         try {
//             return cpu.getSegment(reg0, ldtr, gdtr);
//         } catch (ProcessorException e) {
//             throw new IllegalStateException(e.toString());
//         }
//     }

    public static void memorywrite_hef_STORE0_MEM_BYTE_seg0_addr0_reg0(Segment seg0, int addr0, int reg0)
    {
        seg0.setByte(addr0, (byte)reg0);
    }

    public static void memorywrite_hef_STORE0_MEM_WORD_seg0_addr0_reg0(Segment seg0, int addr0, int reg0)
    {
        seg0.setWord(addr0, (short)reg0);
    }

    public static void memorywrite_hef_STORE0_MEM_DWORD_seg0_addr0_reg0(Segment seg0, int addr0, int reg0)
    {
        seg0.setDoubleWord(addr0, reg0);
    }

    public static boolean aflag_nef_STORE0_FLAGS_reg0(int reg0)
    {
        return ((reg0 & 0x0010) != 0);
    }

    public static boolean cflag_nef_STORE0_FLAGS_reg0(int reg0)
    {
        return ((reg0 & 0x0001) != 0);
    }

    public static boolean dflag_nef_STORE0_FLAGS_reg0(int reg0)
    {
        return ((reg0 & 0x0400) != 0);
    }

    public static boolean iflag_nef_STORE0_FLAGS_reg0(int reg0)
    {
        return ((reg0 & 0x0200) != 0);
    }

    public static int iopl_nef_STORE0_FLAGS_reg0(int reg0)
    {
        return ((reg0 >>> 12) & 0x0003);
    }

    public static boolean ntflag_nef_STORE0_FLAGS_reg0(int reg0)
    {
        return ((reg0 & 0x4000) != 0);
    }

    public static boolean oflag_nef_STORE0_FLAGS_reg0(int reg0)
    {
        return ((reg0 & 0x0800) != 0);
    }

    public static boolean pflag_nef_STORE0_FLAGS_reg0(int reg0)
    {
        return ((reg0 & 0x0004) != 0);
    }

    public static boolean sflag_nef_STORE0_FLAGS_reg0(int reg0)
    {
        return ((reg0 & 0x0080) != 0);
    }

    public static boolean tflag_nef_STORE0_FLAGS_reg0(int reg0)
    {
        return ((reg0 & 0x0100) != 0);
    }

    public static boolean zflag_nef_STORE0_FLAGS_reg0(int reg0)
    {
        return ((reg0 & 0x0040) != 0);
    }

//     public static boolean cflag_nef_STORE0_EFLAGS_reg0(int reg0)
//     {
//         return ((reg0 & 0x0001) != 0);
//     }

//     public static boolean pflag_nef_STORE0_EFLAGS_reg0(int reg0)
//     {
//         return ((reg0 & 0x0004) != 0);
//     }

//     public static boolean aflag_nef_STORE0_EFLAGS_reg0(int reg0)
//     {
//         return ((reg0 & 0x0010) != 0);
//     }

//     public static boolean zflag_nef_STORE0_EFLAGS_reg0(int reg0)
//     {
//         return ((reg0 & 0x0040) != 0);
//     }

//     public static boolean sflag_nef_STORE0_EFLAGS_reg0(int reg0)
//     {
//         return ((reg0 & 0x0080) != 0);
//     }

//     public static boolean tflag_nef_STORE0_EFLAGS_reg0(int reg0)
//     {
//         return ((reg0 & 0x0100) != 0);
//     }

//     public static boolean iflag_nef_STORE0_EFLAGS_reg0(int reg0)
//     {
//         return ((reg0 & 0x0200) != 0);
//     }

//     public static boolean dflag_nef_STORE0_EFLAGS_reg0(int reg0)
//     {
//         return ((reg0 & 0x0400) != 0);
//     }

//     public static boolean oflag_nef_STORE0_EFLAGS_reg0(int reg0)
//     {
//         return ((reg0 & 0x0800) != 0);
//     }

//     public static int iopl_nef_STORE0_EFLAGS_reg0(int reg0)
//     {
//         return ((reg0 >>> 12) & 0x0003);
//     }

//     public static boolean ntflag_nef_STORE0_EFLAGS_reg0(int reg0)
//     {
//         return ((reg0 & 0x4000) != 0);
//     }

//     public static boolean rflag_nef_STORE0_EFLAGS_reg0(int reg0)
//     {
//         return ((reg0 & 0x10000) != 0);
//     }

//     public static boolean vmflag_hef_STORE0_EFLAGS_vmflag_reg0(boolean vmflag, int reg0)
//     {
// 	boolean newflag = ((reg0 & 0x40000) != 0);
//         return newflag;
//     }

//     public static boolean acflag_hef_STORE0_EFLAGS_reg0(boolean acflag, int reg0)
//     {
// 	boolean newflag = ((reg0 & 0x40000) != 0);
//         return newflag;
//     }

//     public static boolean viflag_nef_STORE0_EFLAGS_reg0(int reg0)
//     {
//         return ((reg0 & 0x80000) != 0);
//     }

//     public static boolean vipflag_nef_STORE0_EFLAGS_reg0(int reg0)
//     {
//         return ((reg0 & 0x100000) != 0);
//     }

//     public static boolean idflag_nef_STORE0_EFLAGS_reg0(int reg0)
//     {
//         return ((reg0 & 0x200000) != 0);
//     }

    public static int eax_nef_STORE1_AL_eax_reg1(int eax, int reg1)
    {
        return (eax & ~0xff) | (reg1 & 0xff);
    }

    public static int ecx_nef_STORE1_CL_ecx_reg1(int ecx, int reg1)
    {
        return (ecx & ~0xff) | (reg1 & 0xff);
    }

    public static int edx_nef_STORE1_DL_edx_reg1(int edx, int reg1)
    {
        return (edx & ~0xff) | (reg1 & 0xff);
    }

    public static int ebx_nef_STORE1_BL_ebx_reg1(int ebx, int reg1)
    {
        return (ebx & ~0xff) | (reg1 & 0xff);
    }

    public static int eax_nef_STORE1_AH_eax_reg1(int eax, int reg1)
    {
        return (eax & ~0xff00) | ((reg1 << 8) & 0xff00);
    }

    public static int ecx_nef_STORE1_CH_ecx_reg1(int ecx, int reg1)
    {
        return (ecx & ~0xff00) | ((reg1 << 8) & 0xff00);
    }

    public static int edx_nef_STORE1_DH_edx_reg1(int edx, int reg1)
    {
        return (edx & ~0xff00) | ((reg1 << 8) & 0xff00);
    }

    public static int ebx_nef_STORE1_BH_ebx_reg1(int ebx, int reg1)
    {
        return (ebx & ~0xff00) | ((reg1 << 8) & 0xff00);
    }

    public static int eax_nef_STORE1_AX_eax_reg1(int eax, int reg1)
    {
        return (eax & ~0xffff) | (reg1 & 0xffff);
    }

    public static int ecx_nef_STORE1_CX_ecx_reg1(int ecx, int reg1)
    {
        return (ecx & ~0xffff) | (reg1 & 0xffff);
    }

    public static int edx_nef_STORE1_DX_edx_reg1(int edx, int reg1)
    {
        return (edx & ~0xffff) | (reg1 & 0xffff);
    }

    public static int ebx_nef_STORE1_BX_ebx_reg1(int ebx, int reg1)
    {
        return (ebx & ~0xffff) | (reg1 & 0xffff);
    }

    public static int esp_nef_STORE1_SP_esp_reg1(int esp, int reg1)
    {
        return (esp & ~0xffff) | (reg1 & 0xffff); 
    }

    public static int ebp_nef_STORE1_BP_ebp_reg1(int ebp, int reg1)
    {
        return (ebp & ~0xffff) | (reg1 & 0xffff);
    }

    public static int esi_nef_STORE1_SI_esi_reg1(int esi, int reg1)
    {
        return (esi & ~0xffff) | (reg1 & 0xffff);
    }

    public static int edi_nef_STORE1_DI_edi_reg1(int edi, int reg1)
    {
        return (edi & ~0xffff) | (reg1 & 0xffff);
    }

    public static int eax_nef_STORE1_EAX_reg1(int reg1)
    {
        return reg1;
    }

    public static int ecx_nef_STORE1_ECX_reg1(int reg1)
    {
        return reg1;
    }

    public static int edx_nef_STORE1_EDX_reg1(int reg1)
    {
        return reg1;
    }

    public static int ebx_nef_STORE1_EBX_reg1(int reg1)
    {
        return reg1;
    }

    public static int esp_nef_STORE1_ESP_reg1(int reg1)
    {
        return reg1;
    }

    public static int ebp_nef_STORE1_EBP_reg1(int reg1)
    {
        return reg1;
    }

    public static int esi_nef_STORE1_ESI_reg1(int reg1)
    {
        return reg1;
    }

    public static int edi_nef_STORE1_EDI_reg1(int reg1)
    {

⌨️ 快捷键说明

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