📄 ucodestaticmethods.java
字号:
reg1 &= 0x1f;
return reg1 % 17;
}
public static boolean cflag_nef_RCL_O8_FLAGS_cflag_reg0_reg1(boolean cflag, int reg0, int reg1)
{
if (reg1 > 0)
return ((reg0 & 0x100) != 0);
return cflag;
}
public static boolean oflag_nef_RCL_O8_FLAGS_oflag_reg0_reg1(boolean oflag, int reg0, int reg1)
{
if (reg1 == 1)
return ((reg0 & 0x180) != 0) && ((reg0 & 0x180) != 0x180);
return oflag;
}
public static boolean cflag_nef_RCL_O16_FLAGS_cflag_reg0_reg1(boolean cflag, int reg0, int reg1)
{
if (reg1 > 0)
return ((reg0 & 0x10000) != 0);
return cflag;
}
public static boolean oflag_nef_RCL_O16_FLAGS_oflag_reg0_reg1(boolean oflag, int reg0, int reg1)
{
if (reg1 == 1)
return ((reg0 & 0x18000) != 0) && ((reg0 & 0x18000) != 0x18000);
return oflag;
}
public static int reg0_nef_RCR_O8_reg1_reg0_cflag(int reg1, int reg0, boolean cflag)
{
reg1 &= 0x1f;
reg1 %= 9;
reg0 |= (cflag ? 0x100 : 0);
return (reg0 >>> reg1) | (reg0 << (9 - reg1));
}
public static int reg1_nef_RCR_O8_reg1(int reg1)
{
reg1 &= 0x1f;
return reg1 % 9;
}
public static int reg0_nef_RCR_O16_reg1_reg0_cflag(int reg1, int reg0, boolean cflag)
{
reg1 &= 0x1f;
reg1 %= 17;
reg0 |= (cflag ? 0x10000 : 0);
return (reg0 >>> reg1) | (reg0 << (17 - reg1));
}
public static int reg1_nef_RCR_O16_reg1(int reg1)
{
reg1 &= 0x1f;
return reg1 % 17;
}
public static boolean cflag_nef_RCR_O8_FLAGS_cflag_reg0_reg1(boolean cflag, int reg0, int reg1)
{
if (reg1 > 0)
return ((reg0 & 0x100) != 0);
return cflag;
}
public static boolean oflag_nef_RCR_O8_FLAGS_oflag_reg0_reg1(boolean oflag, int reg0, int reg1)
{
if (reg1 == 1)
return ((reg0 & 0x180) != 0) && ((reg0 & 0x180) != 0x180);
return oflag;
}
public static boolean cflag_nef_RCR_O16_FLAGS_cflag_reg0_reg1(boolean cflag, int reg0, int reg1)
{
if (reg1 > 0)
return ((reg0 & 0x10000) != 0);
return cflag;
}
public static boolean oflag_nef_RCR_O16_FLAGS_oflag_reg0_reg1(boolean oflag, int reg0, int reg1)
{
if (reg1 == 1)
return ((reg0 & 0x18000) != 0) && ((reg0 & 0x18000) != 0x18000);
return oflag;
}
public static int reg0_nef_SHRD_O16_reg0_reg1_reg2(int reg0, int reg1, int reg2)
{
reg2 &= 0x1f;
if (reg2 != 0)
return (reg0 >>> reg2) | (reg1 << (16 - reg2));
else
return reg0;
}
public static int reg1_nef_SHRD_O16_reg2(int reg2)
{
return reg2 & 0x1f;
}
public static int reg2_nef_SHRD_O16_reg0(int reg0)
{
return reg0;
}
public static int reg0_nef_SHRD_O32_reg0_reg1_reg2(int reg0, int reg1, int reg2)
{
reg2 &= 0x1f;
if (reg2 != 0)
return (reg0 >>> reg2) | (reg1 << (32 - reg2));
else
return reg0;
}
public static int reg1_nef_SHRD_O32_reg2(int reg2)
{
return reg2 & 0x1f;
}
public static int reg2_nef_SHRD_O32_reg0(int reg0)
{
return reg0;
}
public static int reg0_nef_SHLD_O16_reg0_reg1_reg2(int reg0, int reg1, int reg2)
{
reg2 &= 0x1f;
if (reg2 != 0)
return (reg0 << reg2) | (reg1 >>> (16 - reg2));
else
return reg0;
}
public static int reg1_nef_SHLD_O16_reg2(int reg2)
{
return reg2 & 0x1f;
}
public static int reg2_nef_SHLD_O16_reg0(int reg0)
{
return reg0;
}
public static int reg0_nef_SHLD_O32_reg0_reg1_reg2(int reg0, int reg1, int reg2)
{
reg2 &= 0x1f;
if (reg2 != 0)
return (reg0 << reg2) | (reg1 >>> (32 - reg2));
else
return reg0;
}
public static int reg1_nef_SHLD_O32_reg2(int reg2)
{
return reg2 & 0x1f;
}
public static int reg2_nef_SHLD_O32_reg0(int reg0)
{
return reg0;
}
public static int reg0_nef_BSF_reg1_reg0(int reg1, int reg0)
{
if (reg1 == 0)
return reg0;
else
return Integer.numberOfTrailingZeros(reg1);
}
public static int zflag_nef_BSF_reg1(int reg1)
{
if (reg1 == 0)
return 1;
else
return 0;
}
public static int reg0_nef_BSR_reg1_reg0(int reg1, int reg0)
{
if (reg1 == 0)
return reg0;
else
return 31 - Integer.numberOfTrailingZeros(reg1);
}
public static int zflag_nef_BSR_reg1(int reg1)
{
if (reg1 == 0)
return 1;
else
return 0;
}
public static int reg0_nef_ADD_reg0_reg1(int reg0, int reg1)
{
return reg0 + reg1;
}
public static int reg2_nef_ADD_reg0(int reg0)
{
return reg0;
}
public static boolean aflag_nef_ADD_O8_FLAGS_reg0_reg1_reg2(int reg0, int reg1, int reg2)
{
return ((((reg2 ^ reg1) ^ reg0) & 0x10) != 0);
}
public static boolean cflag_nef_ADD_O8_FLAGS_reg0(int reg0)
{
return ((reg0 & (~0xff)) != 0);
}
public static boolean oflag_nef_ADD_O8_FLAGS_reg0_reg1_reg2(int reg0, int reg1, int reg2)
{
return (((reg2 & 0x80) == (reg1 & 0x80)) && ((reg2 & 0x80) != (reg0 & 0x80)));
// if ((byte)reg1 > 0)
// return ((byte)reg0 < (byte)reg2);
// else
// return ((byte)reg0 > (byte)reg2);
}
public static boolean pflag_nef_ADD_O8_FLAGS_reg0(int reg0)
{
return parityMap[reg0 & 0xff];
}
public static boolean sflag_nef_ADD_O8_FLAGS_reg0(int reg0)
{
return (((byte) reg0) < 0);
}
public static boolean zflag_nef_ADD_O8_FLAGS_reg0(int reg0)
{
return (((byte) reg0) == 0);
}
public static boolean aflag_nef_ADD_O16_FLAGS_reg0_reg1_reg2(int reg0, int reg1, int reg2)
{
return ((((reg2 ^ reg1) ^ reg0) & 0x10) != 0);
}
public static boolean cflag_nef_ADD_O16_FLAGS_reg0(int reg0)
{
return ((reg0 & (~0xffff)) != 0);
}
public static boolean oflag_nef_ADD_O16_FLAGS_reg0_reg1_reg2(int reg0, int reg1, int reg2)
{
return (((reg2 & 0x8000) == (reg1 & 0x8000)) && ((reg2 & 0x8000) != (reg0 & 0x8000)));
// if ((short)reg1 > 0)
// return ((short)reg0 < (short)reg2);
// else
// return ((short)reg0 > (short)reg2);
}
public static boolean pflag_nef_ADD_O16_FLAGS_reg0(int reg0)
{
return parityMap[reg0 & 0xff];
}
public static boolean sflag_nef_ADD_O16_FLAGS_reg0(int reg0)
{
return (((short) reg0) < 0);
}
public static boolean zflag_nef_ADD_O16_FLAGS_reg0(int reg0)
{
return (((short) reg0) == 0);
}
public static boolean aflag_nef_ADD_O32_FLAGS_reg0_reg1_reg2(int reg0, int reg1, int reg2)
{
return ((((reg2 ^ reg1) ^ reg0) & 0x10) != 0);
}
public static boolean cflag_nef_ADD_O32_FLAGS_reg1_reg2(int reg1, int reg2)
{
long result = (0xffffffffL & reg2) + (0xffffffffL & reg1);
return ((result & ~0xffffffffL) != 0);
}
public static boolean oflag_nef_ADD_O32_FLAGS_reg0_reg1_reg2(int reg0, int reg1, int reg2)
{
return (((reg2 & 0x80000000) == (reg1 & 0x80000000)) && ((reg2 & 0x80000000) != (reg0 & 0x80000000)));
// if (reg1 > 0)
// return reg0 < reg2;
// else
// return reg0 > reg2;
}
public static boolean pflag_nef_ADD_O32_FLAGS_reg0(int reg0)
{
return parityMap[reg0 & 0xff];
}
public static boolean sflag_nef_ADD_O32_FLAGS_reg0(int reg0)
{
return reg0 < 0;
}
public static boolean zflag_nef_ADD_O32_FLAGS_reg0(int reg0)
{
return reg0 == 0;
}
public static int reg0_nef_SUB_reg0_reg1(int reg0, int reg1)
{
return reg0 - reg1;
}
public static int reg2_nef_SUB_reg0(int reg0)
{
return reg0;
}
public static boolean aflag_nef_SUB_O8_FLAGS_reg0_reg1_reg2(int reg0, int reg1, int reg2)
{
return ((((reg2 ^ reg1) ^ reg0) & 0x10) != 0);
}
public static boolean cflag_nef_SUB_O8_FLAGS_reg0(int reg0)
{
return ((reg0 & (~0xff)) != 0);
}
public static boolean oflag_nef_SUB_O8_FLAGS_reg0_reg1_reg2(int reg0, int reg1, int reg2)
{
return (((reg2 & 0x80) != (reg1 & 0x80)) && ((reg2 & 0x80) != (reg0 & 0x80)));
// if ((byte)reg1 > 0)
// return ((byte)reg2 < (byte)reg0);
// else
// return ((byte)reg2 > (byte)reg0);
}
public static boolean pflag_nef_SUB_O8_FLAGS_reg0(int reg0)
{
return parityMap[reg0 & 0xff];
}
public static boolean sflag_nef_SUB_O8_FLAGS_reg0(int reg0)
{
return (((byte) reg0) < 0);
}
public static boolean zflag_nef_SUB_O8_FLAGS_reg0(int reg0)
{
return (((byte) reg0) == 0);
}
public static boolean aflag_nef_SUB_O16_FLAGS_reg0_reg1_reg2(int reg0, int reg1, int reg2)
{
return ((((reg2 ^ reg1) ^ reg0) & 0x10) != 0);
}
public static boolean cflag_nef_SUB_O16_FLAGS_reg0(int reg0)
{
return ((reg0 & (~0xffff)) != 0);
}
public static boolean oflag_nef_SUB_O16_FLAGS_reg0_reg1_reg2(int reg0, int reg1, int reg2)
{
return (((reg2 & 0x8000) != (reg1 & 0x8000)) && ((reg2 & 0x8000) != (reg0 & 0x8000)));
// if ((short)reg1 > 0)
// return ((short)reg2 < (short)reg0);
// else
// return ((short)reg2 > (short)reg0);
}
public static boolean pflag_nef_SUB_O16_FLAGS_reg0(int reg0)
{
return parityMap[reg0 & 0xff];
}
public static boolean sflag_nef_SUB_O16_FLAGS_reg0(int reg0)
{
return (((short) reg0) < 0);
}
public static boolean zflag_nef_SUB_O16_FLAGS_reg0(int reg0)
{
return (((short) reg0) == 0);
}
public static boolean aflag_nef_SUB_O32_FLAGS_reg0_reg1_reg2(int reg0, int reg1, int reg2)
{
return ((((reg2 ^ reg1) ^ reg0) & 0x10) != 0);
}
public static boolean cflag_nef_SUB_O32_FLAGS_reg2_reg1(int reg2, int reg1)
{
long result = (0xffffffffL & reg2) - (0xffffffffL & reg1);
return (result & (~0xffffffffL)) != 0;
}
public static boolean oflag_nef_SUB_O32_FLAGS_reg0_reg1_reg2(int reg0, int reg1, int reg2)
{
return (((reg2 & 0x80000000) != (reg1 & 0x80000000)) && ((reg2 & 0x80000000) != (reg0 & 0x80000000)));
// if (reg1 > 0)
// return (reg2 < reg0);
// else
// return (reg2 > reg0);
}
public static boolean pflag_nef_SUB_O32_FLAGS_reg0(int reg0)
{
return parityMap[reg0 & 0xff];
}
public static boolean sflag_nef_SUB_O32_FLAGS_reg0(int reg0)
{
return reg0 < 0;
}
public static boolean zflag_nef_SUB_O32_FLAGS_reg0(int reg0)
{
return reg0 == 0;
}
public static int reg0_nef_INC_reg0(int reg0)
{
return reg0 + 1;
}
public static boolean aflag_nef_INC_O8_FLAGS_reg0(int reg0)
{
return (reg0 & 0xf) == 0x0;
}
public static boolean oflag_nef_INC_O8_FLAGS_reg0(int reg0)
{
return (((byte) reg0) == ((byte) 0x80));
}
public static boolean pflag_nef_INC_O8_FLAGS_reg0(int reg0)
{
return parityMap[reg0 & 0xff];
}
public static boolean sflag_nef_INC_O8_FLAGS_reg0(int reg0)
{
return (((byte) reg0) < 0);
}
public static boolean zflag_nef_INC_O8_FLAGS_reg0(int reg0)
{
return (((byte) reg0) == 0);
}
public static boolean aflag_nef_INC_O16_FLAGS_reg0(int reg0)
{
return ((((short) reg0) & 0xf) == 0x0);
}
public static boolean oflag_nef_INC_O16_FLAGS_reg0(int reg0)
{
return (((short) reg0) == ((short) 0x8000));
}
public static boolean pflag_nef_INC_O16_FLAGS_reg0(int reg0)
{
return parityMap[reg0 & 0xff];
}
public static boolean sflag_nef_INC_O16_FLAGS_reg0(int reg0)
{
return (((short) reg0) < 0);
}
public static boolean zflag_nef_INC_O16_FLAGS_reg0(int reg0)
{
return (((short) reg0) == 0);
}
public static boolean aflag_nef_INC_O32_FLAGS_reg0(int reg0)
{
return ((reg0 & 0xf) == 0x0);
}
public static boolean oflag_nef_INC_O32_FLAGS_reg0(int reg0)
{
return (reg0 == 0x80000000);
}
public static boolean pflag_nef_INC_O32_FLAGS_reg0(int reg0)
{
return parityMap[reg0 & 0xff];
}
public static boolean sflag_nef_INC_O32_FLAGS_reg0(int reg0)
{
return (reg0 < 0);
}
public static boolean zflag_nef_INC_O32_FLAGS_reg0(int reg0)
{
return (reg0 == 0);
}
public static int reg0_nef_DEC_reg0(int reg0)
{
return reg0 - 1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -