📄 ucodestaticmethods.java
字号:
return reg1;
}
// public static Segment es_hef_STORE1_ES_ldtr_gdtr_reg1(Segment ldtr, Segment gdtr, int reg1)
// {
// reg1 &= 0xffff;
// if (reg1 < 0x4)
// return SegmentFactory.NULL_SEGMENT;
// try {
// return cpu.getSegment(reg1, ldtr, gdtr);
// } catch (ProcessorException e) {
// throw new IllegalStateException(e.toString());
// }
// }
// public static Segment cs_hef_STORE1_CS_ldtr_gdtr_reg1(Segment ldtr, Segment gdtr, int reg1)
// {
// cs.setSelector(0xffff & reg1);
// return cs;
// }
// public static Segment ss_hef_STORE1_SS_ldtr_gdtr_reg1(Segment ldtr, Segment gdtr, int reg1)
// {
// reg1 &= 0xffff;
// if (reg1 < 0x4)
// throw exceptionGP;
// try {
// return cpu.getSegment(reg1, ldtr, gdtr);
// } catch (ProcessorException e) {
// throw new IllegalStateException(e.toString());
// }
// }
// public static Segment ds_hef_STORE1_DS_ldtr_gdtr_reg1(Segment ldtr, Segment gdtr, int reg1)
// {
// reg1 &= 0xffff;
// if (reg1 < 0x4)
// return SegmentFactory.NULL_SEGMENT;
// try {
// return cpu.getSegment(reg1, ldtr, gdtr);
// } catch (ProcessorException e) {
// throw new IllegalStateException(e.toString());
// }
// }
// public static Segment fs_hef_STORE1_FS_ldtr_gdtr_reg1(Segment ldtr, Segment gdtr, int reg1)
// {
// reg1 &= 0xffff;
// if (reg1 < 0x4)
// return SegmentFactory.NULL_SEGMENT;
// try {
// return cpu.getSegment(reg1, ldtr, gdtr);
// } catch (ProcessorException e) {
// throw new IllegalStateException(e.toString());
// }
// }
// public static Segment gs_hef_STORE1_GS_ldtr_gdtr_reg1(Segment ldtr, Segment gdtr, int reg1)
// {
// reg1 &= 0xffff;
// if (reg1 < 0x4)
// return SegmentFactory.NULL_SEGMENT;
// try {
// return cpu.getSegment(reg1, ldtr, gdtr);
// } catch (ProcessorException e) {
// throw new IllegalStateException(e.toString());
// }
// }
public static void memorywrite_hef_STORE1_MEM_BYTE_seg0_addr0_reg1(Segment seg0, int addr0, int reg1)
{
seg0.setByte(addr0, (byte)reg1);
}
public static void memorywrite_hef_STORE1_MEM_WORD_seg0_addr0_reg1(Segment seg0, int addr0, int reg1)
{
seg0.setWord(addr0, (short)reg1);
}
public static void memorywrite_hef_STORE1_MEM_DWORD_seg0_addr0_reg1(Segment seg0, int addr0, int reg1)
{
seg0.setDoubleWord(addr0, reg1);
}
public static int addr0_nef_ADDR_AX_addr0_eax(int addr0, int eax)
{
return addr0 + ((short) eax);
}
public static int addr0_nef_ADDR_CX_addr0_ecx(int addr0, int ecx)
{
return addr0 + ((short) ecx);
}
public static int addr0_nef_ADDR_DX_addr0_edx(int addr0, int edx)
{
return addr0 + ((short) edx);
}
public static int addr0_nef_ADDR_BX_addr0_ebx(int addr0, int ebx)
{
return addr0 + ((short) ebx);
}
public static int addr0_nef_ADDR_SP_addr0_esp(int addr0, int esp)
{
return addr0 + ((short) esp);
}
public static int addr0_nef_ADDR_BP_addr0_ebp(int addr0, int ebp)
{
return addr0 + ((short) ebp);
}
public static int addr0_nef_ADDR_SI_addr0_esi(int addr0, int esi)
{
return addr0 + ((short) esi);
}
public static int addr0_nef_ADDR_DI_addr0_edi(int addr0, int edi)
{
return addr0 + ((short) edi);
}
public static int addr0_nef_ADDR_EAX_addr0_eax(int addr0, int eax)
{
return addr0 + eax;
}
public static int addr0_nef_ADDR_ECX_addr0_ecx(int addr0, int ecx)
{
return addr0 + ecx;
}
public static int addr0_nef_ADDR_EDX_addr0_edx(int addr0, int edx)
{
return addr0 + edx;
}
public static int addr0_nef_ADDR_EBX_addr0_ebx(int addr0, int ebx)
{
return addr0 + ebx;
}
public static int addr0_nef_ADDR_ESP_addr0_esp(int addr0, int esp)
{
return addr0 + esp;
}
public static int addr0_nef_ADDR_EBP_addr0_ebp(int addr0, int ebp)
{
return addr0 + ebp;
}
public static int addr0_nef_ADDR_ESI_addr0_esi(int addr0, int esi)
{
return addr0 + esi;
}
public static int addr0_nef_ADDR_EDI_addr0_edi(int addr0, int edi)
{
return addr0 + edi;
}
public static int addr0_nef_ADDR_2EAX_addr0_eax(int addr0, int eax)
{
return addr0 + (eax << 1);
}
public static int addr0_nef_ADDR_2ECX_addr0_ecx(int addr0, int ecx)
{
return addr0 + (ecx << 1);
}
public static int addr0_nef_ADDR_2EDX_addr0_edx(int addr0, int edx)
{
return addr0 + (edx << 1);
}
public static int addr0_nef_ADDR_2EBX_addr0_ebx(int addr0, int ebx)
{
return addr0 + (ebx << 1);
}
public static int addr0_nef_ADDR_2ESP_addr0_esp(int addr0, int esp)
{
return addr0 + (esp << 1);
}
public static int addr0_nef_ADDR_2EBP_addr0_ebp(int addr0, int ebp)
{
return addr0 + (ebp << 1);
}
public static int addr0_nef_ADDR_2ESI_addr0_esi(int addr0, int esi)
{
return addr0 + (esi << 1);
}
public static int addr0_nef_ADDR_2EDI_addr0_edi(int addr0, int edi)
{
return addr0 + (edi << 1);
}
public static int addr0_nef_ADDR_4EAX_addr0_eax(int addr0, int eax)
{
return addr0 + (eax << 2);
}
public static int addr0_nef_ADDR_4ECX_addr0_ecx(int addr0, int ecx)
{
return addr0 + (ecx << 2);
}
public static int addr0_nef_ADDR_4EDX_addr0_edx(int addr0, int edx)
{
return addr0 + (edx << 2);
}
public static int addr0_nef_ADDR_4EBX_addr0_ebx(int addr0, int ebx)
{
return addr0 + (ebx << 2);
}
public static int addr0_nef_ADDR_4ESP_addr0_esp(int addr0, int esp)
{
return addr0 + (esp << 2);
}
public static int addr0_nef_ADDR_4EBP_addr0_ebp(int addr0, int ebp)
{
return addr0 + (ebp << 2);
}
public static int addr0_nef_ADDR_4ESI_addr0_esi(int addr0, int esi)
{
return addr0 + (esi << 2);
}
public static int addr0_nef_ADDR_4EDI_addr0_edi(int addr0, int edi)
{
return addr0 + (edi << 2);
}
public static int addr0_nef_ADDR_8EAX_addr0_eax(int addr0, int eax)
{
return addr0 + (eax << 3);
}
public static int addr0_nef_ADDR_8ECX_addr0_ecx(int addr0, int ecx)
{
return addr0 + (ecx << 3);
}
public static int addr0_nef_ADDR_8EDX_addr0_edx(int addr0, int edx)
{
return addr0 + (edx << 3);
}
public static int addr0_nef_ADDR_8EBX_addr0_ebx(int addr0, int ebx)
{
return addr0 + (ebx << 3);
}
public static int addr0_nef_ADDR_8ESP_addr0_esp(int addr0, int esp)
{
return addr0 + (esp << 3);
}
public static int addr0_nef_ADDR_8EBP_addr0_ebp(int addr0, int ebp)
{
return addr0 + (ebp << 3);
}
public static int addr0_nef_ADDR_8ESI_addr0_esi(int addr0, int esi)
{
return addr0 + (esi << 3);
}
public static int addr0_nef_ADDR_8EDI_addr0_edi(int addr0, int edi)
{
return addr0 + (edi << 3);
}
public static int addr0_nef_ADDR_IB_addr0_immediate(int addr0, int immediate)
{
return addr0 + ((byte) immediate);
}
public static int addr0_nef_ADDR_IW_addr0_immediate(int addr0, int immediate)
{
return addr0 + ((short) immediate);
}
public static int addr0_nef_ADDR_ID_addr0_immediate(int addr0, int immediate)
{
return addr0 + immediate;
}
public static int addr0_nef_ADDR_MASK16_addr0(int addr0)
{
return addr0 & 0xffff;
}
public static int addr0_nef_ADDR_uAL_addr0_eax(int addr0, int eax)
{
return addr0 + (0xff & eax);
}
public static int addr0_nef_ADDR_REG1_addr0_reg1(int addr0, int reg1)
{
return addr0 + reg1;
}
public static int addr0_nef_MEM_RESET()
{
return 0;
}
public static Segment seg0_nef_MEM_RESET()
{
return null;
}
public static int reg0_nef_SIGN_EXTEND_8_16_reg0(int reg0)
{
return 0xffff & ((byte)reg0);
}
public static int reg0_nef_SIGN_EXTEND_8_32_reg0(int reg0)
{
return (int)((byte)reg0);
}
public static int reg0_nef_SIGN_EXTEND_16_32_reg0(int reg0)
{
return (int)((short)reg0);
}
public static int eip_nef_JUMP_O8_cs_eip_reg0(Segment cs, int eip, int reg0) throws ProcessorException
{
// if ((byte)reg0 == 0)
// return eip;
eip = eip + (byte)reg0;
cs.checkAddress(eip);
return eip;
}
public static int eip_nef_JUMP_O16_cs_eip_reg0(Segment cs, int eip, int reg0) throws ProcessorException
{
eip = (eip + reg0) & 0xffff;
cs.checkAddress(eip);
return eip;
}
public static int eip_nef_JUMP_O32_cs_eip_reg0(Segment cs, int eip, int reg0) throws ProcessorException
{
eip += reg0;
cs.checkAddress(eip);
return eip;
}
public static int eip_nef_JUMP_ABS_O32_cs_reg0(Segment cs, int reg0) throws ProcessorException
{
cs.checkAddress(reg0);
return reg0;
}
public static int ecx_nef_LOOP_CX_ecx(int ecx)
{
return (ecx & ~0xffff) | ((ecx - 1) & 0xffff);
}
public static int eip_nef_LOOP_CX_cs_eip_reg0_ecx(Segment cs, int eip, int reg0, int ecx) throws ProcessorException
{
if ((0xffff & (ecx - 1)) != 0)
return eip_nef_JUMP_O8_cs_eip_reg0(cs, eip, reg0);
else
return eip;
}
public static int ecx_nef_LOOP_ECX_ecx(int ecx)
{
return ecx - 1;
}
public static int eip_nef_LOOP_ECX_cs_eip_reg0_ecx(Segment cs, int eip, int reg0, int ecx) throws ProcessorException
{
if ((ecx - 1) != 0)
return eip_nef_JUMP_O8_cs_eip_reg0(cs, eip, reg0);
else
return eip;
}
public static int eip_nef_JO_O8_cs_eip_reg0_oflag(Segment cs, int eip, int reg0, boolean oflag) throws ProcessorException
{
if (oflag)
return eip_nef_JUMP_O8_cs_eip_reg0(cs, eip, reg0);
return eip;
}
public static int eip_nef_JO_O16_cs_eip_reg0_oflag(Segment cs, int eip, int reg0, boolean oflag) throws ProcessorException
{
if (oflag)
return eip_nef_JUMP_O16_cs_eip_reg0(cs, eip, reg0);
return eip;
}
public static int eip_nef_JO_O32_cs_eip_reg0_oflag(Segment cs, int eip, int reg0, boolean oflag) throws ProcessorException
{
if (oflag)
return eip_nef_JUMP_O32_cs_eip_reg0(cs, eip, reg0);
return eip;
}
public static int eip_nef_JNO_O8_cs_eip_reg0_oflag(Segment cs, int eip, int reg0, boolean oflag) throws ProcessorException
{
if (!oflag)
return eip_nef_JUMP_O8_cs_eip_reg0(cs, eip, reg0);
return eip;
}
public static int eip_nef_JNO_O16_cs_eip_reg0_oflag(Segment cs, int eip, int reg0, boolean oflag) throws ProcessorException
{
if (!oflag)
return eip_nef_JUMP_O16_cs_eip_reg0(cs, eip, reg0);
return eip;
}
public static int eip_nef_JNO_O32_cs_eip_reg0_oflag(Segment cs, int eip, int reg0, boolean oflag) throws ProcessorException
{
if (!oflag)
return eip_nef_JUMP_O32_cs_eip_reg0(cs, eip, reg0);
return eip;
}
public static int eip_nef_JC_O8_cs_eip_reg0_cflag(Segment cs, int eip, int reg0, boolean cflag) throws ProcessorException
{
if (cflag)
return eip_nef_JUMP_O8_cs_eip_reg0(cs, eip, reg0);
return eip;
}
public static int eip_nef_JC_O16_cs_eip_reg0_cflag(Segment cs, int eip, int reg0, boolean cflag) throws ProcessorException
{
if (cflag)
return eip_nef_JUMP_O16_cs_eip_reg0(cs, eip, reg0);
return eip;
}
public static int eip_nef_JC_O32_cs_eip_reg0_cflag(Segment cs, int eip, int reg0, boolean cflag) throws ProcessorException
{
if (cflag)
return eip_nef_JUMP_O32_cs_eip_reg0(cs, eip, reg0);
return eip;
}
public static int eip_nef_JNC_O8_cs_eip_reg0_cflag(Segment cs, int eip, int reg0, boolean cflag) throws ProcessorException
{
if (!cflag)
return eip_nef_JUMP_O8_cs_eip_reg0(cs, eip, reg0);
return eip;
}
public static int eip_nef_JNC_O16_cs_eip_reg0_cflag(Segment cs, int eip, int reg0, boolean cflag) throws ProcessorException
{
if (!cflag)
return eip_nef_JUMP_O16_cs_eip_reg0(cs, eip, reg0);
return eip;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -