mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
415 lines
5.6 KiB
415 lines
5.6 KiB
#ifndef _Frag_c_h
|
|
#define _Frag_c_h
|
|
#define CR0_VALID_BITS (-536543169)
|
|
#define EFLAGS_AC (18)
|
|
#define EFLAGS_VM (17)
|
|
#define EFLAGS_RF (16)
|
|
#define EFLAGS_NT (14)
|
|
#define EFLAGS_OF (11)
|
|
#define EFLAGS_DF (10)
|
|
#define EFLAGS_IEF (9)
|
|
#define EFLAGS_TF (8)
|
|
#define EFLAGS_SF (7)
|
|
#define EFLAGS_ZF (6)
|
|
#define EFLAGS_AF (4)
|
|
#define EFLAGS_PF (2)
|
|
#define EFLAGS_CF (0)
|
|
#define ARITH_FLAGS_MASK (2261)
|
|
#define BaseEFLAGS (2)
|
|
#define PermanentEFLAGSbits (-491478)
|
|
#define MAIN_CPU (0)
|
|
#define NANO_CPU (1)
|
|
#define AtNextInstruction (1)
|
|
#define AtThisInstruction (0)
|
|
#define FtLog (1)
|
|
#define FtAdd (4)
|
|
#define FtSub (7)
|
|
#define FtInc (10)
|
|
#define FtDec (13)
|
|
#define FtAdc (16)
|
|
#define FtSbb (19)
|
|
#define FtSar (22)
|
|
#define FtShr (25)
|
|
#define FtShl (28)
|
|
#define FtShd (31)
|
|
enum SegmentRegister
|
|
{
|
|
SEG_ES = 0,
|
|
SEG_CS = 1,
|
|
SEG_SS = 2,
|
|
SEG_DS = 3,
|
|
SEG_FS = 4,
|
|
SEG_GS = 5
|
|
};
|
|
enum SpecialRegister
|
|
{
|
|
CREG_0 = 0,
|
|
CREG_1 = 1,
|
|
CREG_2 = 2,
|
|
CREG_3 = 3,
|
|
CREG_4 = 4,
|
|
CREG_5 = 5,
|
|
CREG_6 = 6,
|
|
CREG_7 = 7,
|
|
DREG_0 = 8,
|
|
DREG_1 = 9,
|
|
DREG_2 = 10,
|
|
DREG_3 = 11,
|
|
DREG_4 = 12,
|
|
DREG_5 = 13,
|
|
DREG_6 = 14,
|
|
DREG_7 = 15,
|
|
TREG_0 = 16,
|
|
TREG_1 = 17,
|
|
TREG_2 = 18,
|
|
TREG_3 = 19,
|
|
TREG_4 = 20,
|
|
TREG_5 = 21,
|
|
TREG_6 = 22,
|
|
TREG_7 = 23
|
|
};
|
|
enum FtType
|
|
{
|
|
FtZero = 0,
|
|
FtLogB = 1,
|
|
FtLogW = 2,
|
|
FtLogD = 3,
|
|
FtAddB = 4,
|
|
FtAddW = 5,
|
|
FtAddD = 6,
|
|
FtSubB = 7,
|
|
FtSubW = 8,
|
|
FtSubD = 9,
|
|
FtIncB = 10,
|
|
FtIncW = 11,
|
|
FtIncD = 12,
|
|
FtDecB = 13,
|
|
FtDecW = 14,
|
|
FtDecD = 15,
|
|
FtAdcB = 16,
|
|
FtAdcW = 17,
|
|
FtAdcD = 18,
|
|
FtSbbB = 19,
|
|
FtSbbW = 20,
|
|
FtSbbD = 21,
|
|
FtSarB = 22,
|
|
FtSarW = 23,
|
|
FtSarD = 24,
|
|
FtShrB = 25,
|
|
FtShrW = 26,
|
|
FtShrD = 27,
|
|
FtShlB = 28,
|
|
FtShlW = 29,
|
|
FtShlD = 30,
|
|
FtPopf = 31,
|
|
FtShdW = 32,
|
|
FtShdD = 33,
|
|
FtZf = 34,
|
|
FtCf = 35,
|
|
FtCfOf = 36,
|
|
FtCfZf = 37,
|
|
FtCfOfZf = 38,
|
|
FtUnknown = 39
|
|
};
|
|
enum FtSize
|
|
{
|
|
FtB = 0,
|
|
FtW = 1,
|
|
FtD = 2
|
|
};
|
|
enum CondType
|
|
{
|
|
COND_O = 0,
|
|
COND_NO = 1,
|
|
COND_B = 2,
|
|
COND_NB = 3,
|
|
COND_Z = 4,
|
|
COND_NZ = 5,
|
|
COND_BE = 6,
|
|
COND_NBE = 7,
|
|
COND_S = 8,
|
|
COND_NS = 9,
|
|
COND_P = 10,
|
|
COND_NP = 11,
|
|
COND_L = 12,
|
|
COND_NL = 13,
|
|
COND_LE = 14,
|
|
COND_NLE = 15
|
|
};
|
|
enum EaShapes
|
|
{
|
|
EA_DUMMY_ZERO = 0,
|
|
EBX_AL = 1,
|
|
DISP = 2,
|
|
REG = 3,
|
|
REG_DISP = 4,
|
|
REG_REG = 5,
|
|
REG_REG_DISP = 6,
|
|
BASE_SI = 7,
|
|
BASE_SI_DISP = 8,
|
|
OFFS_REG = 9
|
|
};
|
|
enum CodeShapes
|
|
{
|
|
CODE_DUMMY_ZERO = 0,
|
|
AAA = 1,
|
|
AAD = 2,
|
|
AAM = 3,
|
|
AAS = 4,
|
|
ADC = 5,
|
|
ADD = 6,
|
|
AND = 7,
|
|
ARPL = 8,
|
|
BOUND = 9,
|
|
BSF = 10,
|
|
BSR = 11,
|
|
BSWAP = 12,
|
|
BT = 13,
|
|
BTC = 14,
|
|
BTR = 15,
|
|
BTS = 16,
|
|
CALLN_IMM = 17,
|
|
CALLN_VIA = 18,
|
|
CALLF_IMM = 19,
|
|
CALLF_VIA = 20,
|
|
CBW = 21,
|
|
CDQ = 22,
|
|
CLC = 23,
|
|
CLD = 24,
|
|
CLI = 25,
|
|
CLTS = 26,
|
|
CMC = 27,
|
|
CMP = 28,
|
|
CMPXCHG = 29,
|
|
CWD = 30,
|
|
CWDE = 31,
|
|
DAA = 32,
|
|
DAS = 33,
|
|
DEC = 34,
|
|
DIV = 35,
|
|
ENTER = 36,
|
|
ENTER0 = 37,
|
|
ENTER1 = 38,
|
|
F2XM1 = 39,
|
|
FABS = 40,
|
|
FADD = 41,
|
|
FADDP = 42,
|
|
FBLD = 43,
|
|
FBSTP = 44,
|
|
FCHS = 45,
|
|
FCOM = 46,
|
|
FCOMP = 47,
|
|
FCOMPP = 48,
|
|
FCOS = 49,
|
|
FDECSTP = 50,
|
|
FDIV = 51,
|
|
FDIVP = 52,
|
|
FDIVRP = 53,
|
|
FDIVR = 54,
|
|
FFREE = 55,
|
|
FFREEP = 56,
|
|
FINCSTP = 57,
|
|
FLD = 58,
|
|
FLD1 = 59,
|
|
FLDCW = 60,
|
|
FLDENV = 61,
|
|
FLDL2E = 62,
|
|
FLDL2T = 63,
|
|
FLDLG2 = 64,
|
|
FLDLN2 = 65,
|
|
FLDPI = 66,
|
|
FLDZ = 67,
|
|
FMUL = 68,
|
|
FMULP = 69,
|
|
FNCLEX = 70,
|
|
FNINIT = 71,
|
|
FNOP = 72,
|
|
FNSAVE = 73,
|
|
FNSTCW = 74,
|
|
FNSTENV = 75,
|
|
FNSTSW = 76,
|
|
FPATAN = 77,
|
|
FPREM = 78,
|
|
FPREM1 = 79,
|
|
FPTAN = 80,
|
|
FRNDINT = 81,
|
|
FRSTOR = 82,
|
|
FSCALE = 83,
|
|
FSIN = 84,
|
|
FSINCOS = 85,
|
|
FSQRT = 86,
|
|
FST = 87,
|
|
FSTP = 88,
|
|
FSUB = 89,
|
|
FSUBP = 90,
|
|
FSUBRP = 91,
|
|
FSUBR = 92,
|
|
FTST = 93,
|
|
FUCOM = 94,
|
|
FUCOMP = 95,
|
|
FUCOMPP = 96,
|
|
FXAM = 97,
|
|
FXCH = 98,
|
|
FXTRACT = 99,
|
|
FYL2X = 100,
|
|
FYL2XP1 = 101,
|
|
HLT = 102,
|
|
IDIV = 103,
|
|
IMULA = 104,
|
|
IMULI = 105,
|
|
IMUL2 = 106,
|
|
INP = 107,
|
|
INC = 108,
|
|
INT1 = 109,
|
|
INT3 = 110,
|
|
INT7 = 111,
|
|
INTO = 112,
|
|
INTR = 113,
|
|
INVD = 114,
|
|
INVLPG = 115,
|
|
IRET = 116,
|
|
JO = 117,
|
|
JNO = 118,
|
|
JB = 119,
|
|
JNB = 120,
|
|
JZ = 121,
|
|
JNZ = 122,
|
|
JBE = 123,
|
|
JNBE = 124,
|
|
JS = 125,
|
|
JNS = 126,
|
|
JP = 127,
|
|
JNP = 128,
|
|
JL = 129,
|
|
JNL = 130,
|
|
JLE = 131,
|
|
JNLE = 132,
|
|
JCXZ = 133,
|
|
JMPN_IMM = 134,
|
|
JMPN_VIA = 135,
|
|
JMPF_IMM = 136,
|
|
JMPF_VIA = 137,
|
|
LAHF = 138,
|
|
LALCY = 139,
|
|
LAR = 140,
|
|
LDS = 141,
|
|
LEA = 142,
|
|
LEAVE = 143,
|
|
LES = 144,
|
|
LFS = 145,
|
|
LGDT = 146,
|
|
LGS = 147,
|
|
LIDT = 148,
|
|
LLDT = 149,
|
|
LMSW = 150,
|
|
LOOP = 151,
|
|
LOOPE = 152,
|
|
LOOPNE = 153,
|
|
LSL = 154,
|
|
LSS = 155,
|
|
LTR = 156,
|
|
MOV = 157,
|
|
MOVSX = 158,
|
|
MOVZX = 159,
|
|
MUL = 160,
|
|
NEG = 161,
|
|
NOT = 162,
|
|
NOP = 163,
|
|
OR = 164,
|
|
OUTP = 165,
|
|
POP = 166,
|
|
POP_MEM = 167,
|
|
POP_SR = 168,
|
|
POPA = 169,
|
|
POPF = 170,
|
|
PUSH = 171,
|
|
PUSH_SR = 172,
|
|
PUSHA = 173,
|
|
PUSHF = 174,
|
|
RCL = 175,
|
|
RCR = 176,
|
|
RETF = 177,
|
|
RETF_IMM = 178,
|
|
RETN = 179,
|
|
RETN_IMM = 180,
|
|
ROL = 181,
|
|
ROR = 182,
|
|
SAHF = 183,
|
|
SAR = 184,
|
|
SBB = 185,
|
|
SETO = 186,
|
|
SETNO = 187,
|
|
SETB = 188,
|
|
SETNB = 189,
|
|
SETZ = 190,
|
|
SETNZ = 191,
|
|
SETBE = 192,
|
|
SETNBE = 193,
|
|
SETS = 194,
|
|
SETNS = 195,
|
|
SETP = 196,
|
|
SETNP = 197,
|
|
SETL = 198,
|
|
SETNL = 199,
|
|
SETLE = 200,
|
|
SETNLE = 201,
|
|
SGDT = 202,
|
|
SHL = 203,
|
|
SHLD_CL = 204,
|
|
SHLD_IMM = 205,
|
|
SHR = 206,
|
|
SHRD_CL = 207,
|
|
SHRD_IMM = 208,
|
|
SIDT = 209,
|
|
SLDT = 210,
|
|
SMSW = 211,
|
|
STC = 212,
|
|
STD = 213,
|
|
STI = 214,
|
|
STR = 215,
|
|
SUB = 216,
|
|
TEST = 217,
|
|
VERR = 218,
|
|
VERW = 219,
|
|
WAIT = 220,
|
|
WBINVD = 221,
|
|
XADD = 222,
|
|
XCHG = 223,
|
|
XLAT = 224,
|
|
XOR = 225,
|
|
BOP = 226,
|
|
ZBADOP = 227,
|
|
STOS = 228,
|
|
INS = 229,
|
|
LODS = 230,
|
|
MOVS = 231,
|
|
CMPS = 232,
|
|
SCAS = 233,
|
|
OUTS = 234,
|
|
R_STOS = 235,
|
|
R_INS = 236,
|
|
R_LODS = 237,
|
|
R_MOVS = 238,
|
|
RE_CMPS = 239,
|
|
RNE_CMPS = 240,
|
|
RE_SCAS = 241,
|
|
RNE_SCAS = 242,
|
|
R_OUTS = 243,
|
|
RSRVD = 244,
|
|
FRSRVD = 245,
|
|
RD_SEGR = 246,
|
|
WT_SEGR = 247,
|
|
RD_CDT = 248,
|
|
WT_CDT = 249,
|
|
ZADJUST_HSP = 250,
|
|
ZBPI = 251,
|
|
ZDISPATCH_EIP = 252,
|
|
ZJC_PROC = 253,
|
|
ZPAGE_BOUNDARY = 254,
|
|
ZPATCH_ME = 255,
|
|
ZPOST_POP = 256,
|
|
ZRET_TO_COROUTINE = 257,
|
|
ZRESULT_ZERO = 258,
|
|
ZUNSIM = 259
|
|
};
|
|
#endif /* ! _Frag_c_h */
|