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

📄 disassemblerdata.h

📁 ReactOS是一些高手根据Windows XP的内核编写出的类XP。内核实现机理和API函数调用几乎相同。甚至可以兼容XP的程序。喜欢研究系统内核的人可以看一看。
💻 H
📖 第 1 页 / 共 5 页
字号:
"WRMSR",            /* 0X0B6 */
"RDTSC",            /* 0X0B7 */
"RDMSR",            /* 0X0B8 */
"CPUID",            /* 0X0B9 */
"RSM",              /* 0X0BA */
"CMPXCHG",          /* 0X0BB */
"XADD",             /* 0X0BC */
"BSWAP",            /* 0X0BD */
"INVLPG",           /* 0X0BE */
"CMPXCHG8B",        /* 0X0BF */
"JMP FAR",          /* 0X0C0 */
"RETF",             /* 0X0C1 */
"RDPMC"             /* 0X0C2 */
};


char* sCoprocNames[] = {
"",                 /* 0X000 */
"F2XM1",            /* 0X001 */
"FABS",             /* 0X002 */
"FADD",             /* 0X003 */
"FADDP",            /* 0X004 */
"FBLD",             /* 0X005 */
"FBSTP",            /* 0X006 */
"FCHS",             /* 0X007 */
"FCLEX",            /* 0X008 */
"FCOM",             /* 0X009 */
"FCOMP",            /* 0X00A */
"FCOMPP",           /* 0X00B */
"FCOS",             /* 0X00C */
"FDECSTP",          /* 0X00D */
"FDIV",             /* 0X00E */
"FDIVP",            /* 0X00F */
"FDIVR",            /* 0X010 */
"FDIVRP",           /* 0X011 */
"FFREE",            /* 0X012 */
"FIADD",            /* 0X013 */
"FICOM",            /* 0X014 */
"FICOMP",           /* 0X015 */
"FIDIV",            /* 0X016 */
"FIDIVR",           /* 0X017 */
"FILD",             /* 0X018 */
"FIMUL",            /* 0X019 */
"FINCSTP",          /* 0X01A */
"FINIT",            /* 0X01B */
"FIST",             /* 0X01C */
"FISTP",            /* 0X01D */
"FISUB",            /* 0X01E */
"FISUBR",           /* 0X01F */
"FLD",              /* 0X020 */
"FLD1",             /* 0X021 */
"FLDCW",            /* 0X022 */
"FLDENV",           /* 0X023 */
"FLDL2E",           /* 0X024 */
"FLDL2T",           /* 0X025 */
"FLDLG2",           /* 0X026 */
"FLDLN2",           /* 0X027 */
"FLDPI",            /* 0X028 */
"FLDZ",             /* 0X029 */
"FMUL",             /* 0X02A */
"FMULP",            /* 0X02B */
"FNOP",             /* 0X02C */
"FPATAN",           /* 0X02D */
"FPREM",            /* 0X02E */
"FPREM1",           /* 0X02F */
"FPTAN",            /* 0X030 */
"FRNDINT",          /* 0X031 */
"FRSTOR",           /* 0X032 */
"FSAVE",            /* 0X033 */
"FSCALE",           /* 0X034 */
"FSIN",             /* 0X035 */
"FSINCOS",          /* 0X036 */
"FSQRT",            /* 0X037 */
"FST",              /* 0X038 */
"FSTCW",            /* 0X039 */
"FSTENV",           /* 0X03A */
"FSTP",             /* 0X03B */
"FSTSW",            /* 0X03C */
"FSUB",             /* 0X03D */
"FSUBP",            /* 0X03E */
"FSUBR",            /* 0X03F */
"FSUBRP",           /* 0X040 */
"FTST",             /* 0X041 */
"FUCOM",            /* 0X042 */
"FUCOMP",           /* 0X043 */
"FUCOMPP",          /* 0X044 */
"FXAM",             /* 0X045 */
"FXCH",             /* 0X046 */
"FXTRACT",          /* 0X047 */
"FYL2X",            /* 0X048 */
"FYL2XP1"           /* 0X049 */
};


/******************************************************************************
*
*   Table of the first byte of an instruction
*
******************************************************************************/
TOpcodeData Op1[ 256 ] = {
{ /* 00 */        _add       ,2  ,_Eb ,_Gb ,0   ,0  ,0, DIS_MODRM   },
{ /* 01 */        _add       ,2  ,_Ev ,_Gv ,0   ,0  ,0, DIS_MODRM   },
{ /* 02 */        _add       ,2  ,_Gb ,_Eb ,0   ,0  ,0, DIS_MODRM   },
{ /* 03 */        _add       ,2  ,_Gv ,_Ev ,0   ,0  ,0, DIS_MODRM   },
{ /* 04 */        _add       ,2  ,_AL ,_Ib ,0   ,0  ,0, 0   },
{ /* 05 */        _add       ,2  ,_eAX,_Iv ,0   ,0  ,0, 0   },
{ /* 06 */        _push      ,1  ,_ES ,0   ,0   ,0  ,0, 0   },
{ /* 07 */        _pop       ,1  ,_ES ,0   ,0   ,0  ,0, 0   },
{ /* 08 */        _or        ,2  ,_Eb ,_Gb ,0   ,0  ,0, DIS_MODRM   },
{ /* 09 */        _or        ,2  ,_Ev ,_Gv ,0   ,0  ,0, DIS_MODRM   },
{ /* 0A */        _or        ,2  ,_Gb ,_Eb ,0   ,0  ,0, DIS_MODRM   },
{ /* 0B */        _or        ,2  ,_Gv ,_Ev ,0   ,0  ,0, DIS_MODRM   },
{ /* 0C */        _or        ,2  ,_AL ,_Ib ,0   ,0  ,0, 0   },
{ /* 0D */        _or        ,2  ,_eAX,_Iv ,0   ,0  ,0, 0   },
{ /* 0E */        _push      ,1  ,_CS ,0   ,0   ,0  ,0, 0   },
{ /* 0F */        _2BESC     ,0  ,0   ,0   ,0   ,0  ,0, DIS_SPECIAL     },

{ /* 10 */        _adc       ,2  ,_Eb ,_Gb ,0   ,0  ,0, DIS_MODRM   },
{ /* 11 */        _adc       ,2  ,_Ev ,_Gv ,0   ,0  ,0, DIS_MODRM   },
{ /* 12 */        _adc       ,2  ,_Gb ,_Eb ,0   ,0  ,0, DIS_MODRM   },
{ /* 13 */        _adc       ,2  ,_Gv ,_Ev ,0   ,0  ,0, DIS_MODRM   },
{ /* 14 */        _adc       ,2  ,_AL ,_Ib ,0   ,0  ,0, 0   },
{ /* 15 */        _adc       ,2  ,_eAX,_Iv ,0   ,0  ,0, 0   },
{ /* 16 */        _push      ,1  ,_SS ,0   ,0   ,0  ,0, 0   },
{ /* 17 */        _pop       ,1  ,_SS ,0   ,0   ,0  ,0, 0   },
{ /* 18 */        _sbb       ,2  ,_Eb ,_Gb ,0   ,0  ,0, DIS_MODRM   },
{ /* 19 */        _sbb       ,2  ,_Ev ,_Gv ,0   ,0  ,0, DIS_MODRM   },
{ /* 1A */        _sbb       ,2  ,_Gb ,_Eb ,0   ,0  ,0, DIS_MODRM   },
{ /* 1B */        _sbb       ,2  ,_Gv ,_Ev ,0   ,0  ,0, DIS_MODRM   },
{ /* 1C */        _sbb       ,2  ,_AL ,_Ib ,0   ,0  ,0, 0   },
{ /* 1D */        _sbb       ,2  ,_eAX,_Iv ,0   ,0  ,0, 0   },
{ /* 1E */        _push      ,1  ,_DS ,0   ,0   ,0  ,0, 0   },
{ /* 1F */        _pop       ,1  ,_DS ,0   ,0   ,0  ,0, 0   },

{ /* 20 */        _and       ,2  ,_Eb ,_Gb ,0   ,0  ,0, DIS_MODRM   },
{ /* 21 */        _and       ,2  ,_Ev ,_Gv ,0   ,0  ,0, DIS_MODRM   },
{ /* 22 */        _and       ,2  ,_Gb ,_Eb ,0   ,0  ,0, DIS_MODRM   },
{ /* 23 */        _and       ,2  ,_Gv ,_Ev ,0   ,0  ,0, DIS_MODRM   },
{ /* 24 */        _and       ,2  ,_AL ,_Ib ,0   ,0  ,0, 0   },
{ /* 25 */        _and       ,2  ,_eAX,_Iv ,0   ,0  ,0, 0   },
{ /* 26 */        _S_ES      ,0  ,0   ,0   ,0   ,0  ,0, DIS_SPECIAL     },
{ /* 27 */        _daa       ,0  ,0   ,0   ,0   ,0  ,0, 0   },
{ /* 28 */        _sub       ,2  ,_Eb ,_Gb ,0   ,0  ,0, DIS_MODRM   },
{ /* 29 */        _sub       ,2  ,_Ev ,_Gv ,0   ,0  ,0, DIS_MODRM   },
{ /* 2A */        _sub       ,2  ,_Gb ,_Eb ,0   ,0  ,0, DIS_MODRM   },
{ /* 2B */        _sub       ,2  ,_Gv ,_Ev ,0   ,0  ,0, DIS_MODRM   },
{ /* 2C */        _sub       ,2  ,_AL ,_Ib ,0   ,0  ,0, 0   },
{ /* 2D */        _sub       ,2  ,_eAX,_Iv ,0   ,0  ,0, 0   },
{ /* 2E */        _S_CS      ,0  ,0   ,0   ,0   ,0  ,0, DIS_SPECIAL     },
{ /* 2F */        _das       ,0  ,0   ,0   ,0   ,0  ,0, 0   },

{ /* 30 */        _xor       ,2  ,_Eb ,_Gb ,0   ,0  ,0, DIS_MODRM   },
{ /* 31 */        _xor       ,2  ,_Ev ,_Gv ,0   ,0  ,0, DIS_MODRM   },
{ /* 32 */        _xor       ,2  ,_Gb ,_Eb ,0   ,0  ,0, DIS_MODRM   },
{ /* 33 */        _xor       ,2  ,_Gv ,_Ev ,0   ,0  ,0, DIS_MODRM   },
{ /* 34 */        _xor       ,2  ,_AL ,_Ib ,0   ,0  ,0, 0   },
{ /* 35 */        _xor       ,2  ,_eAX,_Iv ,0   ,0  ,0, 0   },
{ /* 36 */        _S_SS      ,0  ,0   ,0   ,0   ,0  ,0, DIS_SPECIAL     },
{ /* 37 */        _aaa       ,0  ,0   ,0   ,0   ,0  ,0, 0   },
{ /* 38 */        _cmp       ,2  ,_Eb ,_Gb ,0   ,0  ,0, DIS_MODRM   },
{ /* 39 */        _cmp       ,2  ,_Ev ,_Gv ,0   ,0  ,0, DIS_MODRM   },
{ /* 3A */        _cmp       ,2  ,_Gb ,_Eb ,0   ,0  ,0, DIS_MODRM   },
{ /* 3B */        _cmp       ,2  ,_Gv ,_Ev ,0   ,0  ,0, DIS_MODRM   },
{ /* 3C */        _cmp       ,2  ,_AL ,_Ib ,0   ,0  ,0, 0   },
{ /* 3D */        _cmp       ,2  ,_eAX,_Iv ,0   ,0  ,0, 0   },
{ /* 3E */        _S_DS      ,0  ,0   ,0   ,0   ,0  ,0, DIS_SPECIAL     },
{ /* 3F */        _aas       ,0  ,0   ,0   ,0   ,0  ,0, 0   },

{ /* 40 */        _inc       ,1  ,_eAX,0   ,0   ,0  ,0, 0   },
{ /* 41 */        _inc       ,1  ,_eCX,0   ,0   ,0  ,0, 0   },
{ /* 42 */        _inc       ,1  ,_eDX,0   ,0   ,0  ,0, 0   },
{ /* 43 */        _inc       ,1  ,_eBX,0   ,0   ,0  ,0, 0   },
{ /* 44 */        _inc       ,1  ,_eSP,0   ,0   ,0  ,0, 0   },
{ /* 45 */        _inc       ,1  ,_eBP,0   ,0   ,0  ,0, 0   },
{ /* 46 */        _inc       ,1  ,_eSI,0   ,0   ,0  ,0, 0   },
{ /* 47 */        _inc       ,1  ,_eDI,0   ,0   ,0  ,0, 0   },
{ /* 48 */        _dec       ,1  ,_eAX,0   ,0   ,0  ,0, 0   },
{ /* 49 */        _dec       ,1  ,_eCX,0   ,0   ,0  ,0, 0   },
{ /* 4A */        _dec       ,1  ,_eDX,0   ,0   ,0  ,0, 0   },
{ /* 4B */        _dec       ,1  ,_eBX,0   ,0   ,0  ,0, 0   },
{ /* 4C */        _dec       ,1  ,_eSP,0   ,0   ,0  ,0, 0   },
{ /* 4D */        _dec       ,1  ,_eBP,0   ,0   ,0  ,0, 0   },
{ /* 4E */        _dec       ,1  ,_eSI,0   ,0   ,0  ,0, 0   },
{ /* 4F */        _dec       ,1  ,_eDI,0   ,0   ,0  ,0, 0   },

{ /* 50 */        _push      ,1  ,_eAX,0   ,0   ,0  ,0, 0   },
{ /* 51 */        _push      ,1  ,_eCX,0   ,0   ,0  ,0, 0   },
{ /* 52 */        _push      ,1  ,_eDX,0   ,0   ,0  ,0, 0   },
{ /* 53 */        _push      ,1  ,_eBX,0   ,0   ,0  ,0, 0   },
{ /* 54 */        _push      ,1  ,_eSP,0   ,0   ,0  ,0, 0   },
{ /* 55 */        _push      ,1  ,_eBP,0   ,0   ,0  ,0, 0   },
{ /* 56 */        _push      ,1  ,_eSI,0   ,0   ,0  ,0, 0   },
{ /* 57 */        _push      ,1  ,_eDI,0   ,0   ,0  ,0, 0   },
{ /* 58 */        _pop       ,1  ,_eAX,0   ,0   ,0  ,0, 0   },
{ /* 59 */        _pop       ,1  ,_eCX,0   ,0   ,0  ,0, 0   },
{ /* 5A */        _pop       ,1  ,_eDX,0   ,0   ,0  ,0, 0   },
{ /* 5B */        _pop       ,1  ,_eBX,0   ,0   ,0  ,0, 0   },
{ /* 5C */        _pop       ,1  ,_eSP,0   ,0   ,0  ,0, 0   },
{ /* 5D */        _pop       ,1  ,_eBP,0   ,0   ,0  ,0, 0   },
{ /* 5E */        _pop       ,1  ,_eSI,0   ,0   ,0  ,0, 0   },
{ /* 5F */        _pop       ,1  ,_eDI,0   ,0   ,0  ,0, 0   },

{ /* 60 */        _pusha     ,0  ,0   ,0   ,0   ,0  ,0, DIS_NAME_FLAG   },
{ /* 61 */        _popa      ,0  ,0   ,0   ,0   ,0  ,0, DIS_NAME_FLAG   },
{ /* 62 */        _bound     ,2  ,_Gv ,_Ma ,0   ,0  ,0, DIS_MODRM   },
{ /* 63 */        _arpl      ,2  ,_Ew ,_Rw ,0   ,0  ,0, DIS_MODRM   },
{ /* 64 */        _S_FS      ,0  ,0   ,0   ,0   ,0  ,0, DIS_SPECIAL     },
{ /* 65 */        _S_GS      ,0  ,0   ,0   ,0   ,0  ,0, DIS_SPECIAL     },
{ /* 66 */        _OPSIZ     ,0  ,0   ,0   ,0   ,0  ,0, DIS_SPECIAL     },
{ /* 67 */        _ADSIZ     ,0  ,0   ,0   ,0   ,0  ,0, DIS_SPECIAL     },
{ /* 68 */        _push      ,1  ,_Iv ,0   ,0   ,0  ,0, 0   },
{ /* 69 */        _imul      ,2  ,_Gv ,_Ev ,_Iv ,0  ,0, DIS_MODRM   },
{ /* 6A */        _push      ,1  ,_Ib ,0   ,0   ,0  ,0, 0   },
{ /* 6B */        _imul      ,3  ,_Gv ,_Ev ,_Ib ,0  ,0, DIS_MODRM   },
{ /* 6C */        _insb      ,2  ,_Yb ,_DX ,0   ,0  ,0, SCAN_TERMINATING    },
{ /* 6D */        _insw      ,2  ,_Yv ,_DX ,0   ,0  ,0, SCAN_TERMINATING | DIS_NAME_FLAG    },
{ /* 6E */        _outsb     ,2  ,_DX ,_Xb ,0   ,0  ,0, SCAN_TERMINATING    },
{ /* 6F */        _outsw     ,2  ,_DX ,_Xv ,0   ,0  ,0, SCAN_TERMINATING | DIS_NAME_FLAG    },

{ /* 70 */        _jo        ,1  ,_Jb ,0   ,0   ,0  ,0, SCAN_COND_JUMP  },
{ /* 71 */        _jno       ,1  ,_Jb ,0   ,0   ,0  ,0, SCAN_COND_JUMP  },
{ /* 72 */        _jb        ,1  ,_Jb ,0   ,0   ,0  ,0, SCAN_COND_JUMP  },
{ /* 73 */        _jnb       ,1  ,_Jb ,0   ,0   ,0  ,0, SCAN_COND_JUMP  },
{ /* 74 */        _jz        ,1  ,_Jb ,0   ,0   ,0  ,0, SCAN_COND_JUMP  },
{ /* 75 */        _jnz       ,1  ,_Jb ,0   ,0   ,0  ,0, SCAN_COND_JUMP  },
{ /* 76 */        _jbe       ,1  ,_Jb ,0   ,0   ,0  ,0, SCAN_COND_JUMP  },
{ /* 77 */        _jnbe      ,1  ,_Jb ,0   ,0   ,0  ,0, SCAN_COND_JUMP  },
{ /* 78 */        _js        ,1  ,_Jb ,0   ,0   ,0  ,0, SCAN_COND_JUMP  },
{ /* 79 */        _jns       ,1  ,_Jb ,0   ,0   ,0  ,0, SCAN_COND_JUMP  },
{ /* 7A */        _jp        ,1  ,_Jb ,0   ,0   ,0  ,0, SCAN_COND_JUMP  },
{ /* 7B */        _jnp       ,1  ,_Jb ,0   ,0   ,0  ,0, SCAN_COND_JUMP  },
{ /* 7C */        _jl        ,1  ,_Jb ,0   ,0   ,0  ,0, SCAN_COND_JUMP  },

⌨️ 快捷键说明

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