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

📄 decode-table.c

📁 二进制翻译的一个软件
💻 C
📖 第 1 页 / 共 4 页
字号:
  { 0x7bu, RESERVED },  { 0x7cu, RESERVED },  { 0x7du, RESERVED },  { 0x7eu, MMX_SSE_SSE2 },  { 0x7fu, MMX_SSE_SSE2 },  /* 0x80 */  { 0x80u, "jo",      Jv,   NONE, NONE, EMIT(jcond),	XO | JJ, RF },  { 0x81u, "jno",     Jv,   NONE, NONE, EMIT(jcond),	XO | JJ, RF },  { 0x82u, "jb",      Jv,   NONE, NONE, EMIT(jcond),	XO | JJ, RF },  { 0x83u, "jae",     Jv,   NONE, NONE, EMIT(jcond),	XO | JJ, RF },  { 0x84u, "je",      Jv,   NONE, NONE, EMIT(jcond),	XO | JJ, RF },  { 0x85u, "jne",     Jv,   NONE, NONE, EMIT(jcond),	XO | JJ, RF },  { 0x86u, "jbe",     Jv,   NONE, NONE, EMIT(jcond),	XO | JJ, RF },  { 0x87u, "ja",      Jv,   NONE, NONE, EMIT(jcond),	XO | JJ, RF },  /* 0x88 */  { 0x88u, "js",      Jv,   NONE, NONE, EMIT(jcond),	XO | JJ, RF },  { 0x89u, "jns",     Jv,   NONE, NONE, EMIT(jcond),	XO | JJ, RF },  { 0x8au, "jp",      Jv,   NONE, NONE, EMIT(jcond),	XO | JJ, RF },  { 0x8bu, "jnp",     Jv,   NONE, NONE, EMIT(jcond),	XO | JJ, RF },  { 0x8cu, "jl",      Jv,   NONE, NONE, EMIT(jcond),	XO | JJ, RF },  { 0x8du, "jge",     Jv,   NONE, NONE, EMIT(jcond),	XO | JJ, RF },  { 0x8eu, "jle",     Jv,   NONE, NONE, EMIT(jcond),	XO | JJ, RF },  { 0x8fu, "jg",      Jv,   NONE, NONE, EMIT(jcond),	XO | JJ, RF },  /* 0x90 */  { 0x90u, "setoB",    Eb,   NONE, NONE, EMIT(normal),	AX, RF },  { 0x91u, "setnoB",   Eb,   NONE, NONE, EMIT(normal),	AX, RF },  { 0x92u, "setbB",    Eb,   NONE, NONE, EMIT(normal),	AX, RF },  { 0x93u, "setnbB",   Eb,   NONE, NONE, EMIT(normal),	AX, RF },  { 0x94u, "setzB",    Eb,   NONE, NONE, EMIT(normal),	AX, RF },  { 0x95u, "setnzB",   Eb,   NONE, NONE, EMIT(normal),	AX, RF },  { 0x96u, "setbeB",   Eb,   NONE, NONE, EMIT(normal),	AX, RF },  { 0x97u, "setnbeB",  Eb,   NONE, NONE, EMIT(normal),	AX, RF },  /* 0x98 */  { 0x98u, "setsB",    Eb,   NONE, NONE, EMIT(normal),	AX, RF },  { 0x99u, "setnsB",   Eb,   NONE, NONE, EMIT(normal),	AX, RF },  { 0x9au, "setpB",    Eb,   NONE, NONE, EMIT(normal),	AX, RF },  { 0x9bu, "setnpB",   Eb,   NONE, NONE, EMIT(normal),	AX, RF },  { 0x9cu, "setlB",    Eb,   NONE, NONE, EMIT(normal),	AX, RF },  { 0x9du, "setnlB",   Eb,   NONE, NONE, EMIT(normal),	AX, RF },  { 0x9eu, "setleB",   Eb,   NONE, NONE, EMIT(normal),	AX, RF },  { 0x9fu, "setnleB",  Eb,   NONE, NONE, EMIT(normal),	AX, RF },  /* 0xa0 */  { 0xa0u, "push",     FS,   NONE, NONE, EMIT(normal),	XO, NF },  { 0xa1u, "pop",      FS,   NONE, NONE, EMIT(normal),	XO, NF },  { 0xa2u, "cpuid",    NONE, NONE, NONE, EMIT(normal),	XX, NF },  { 0xa3u, "btL",      Ev,   Gv,   NONE, EMIT(normal),	AO, WF },  { 0xa4u, "shldL",    Ev,   Gv,   Ib,   EMIT(normal),	AO, WF },  { 0xa5u, "shldL",    Ev,   Gv,   CL,   EMIT(normal),	AO, WF },  /* Following two opcodes were actually CMPXCHG on the A step     Pentium, but it was a mistake */  { 0xa6u, RESERVED },  { 0xa7u, RESERVED },  /* 0xa8 */  { 0xa8u, "push",     GS,   NONE, NONE, EMIT(normal),	XO, NF },  { 0xa9u, "pop",      GS,   NONE, NONE, EMIT(normal),	XO, NF },  { 0xaau, "rsm",      NONE, NONE, NONE, EMIT(normal),	XX, WF },  { 0xabu, "btsL",     Ev,   Gv,   NONE, EMIT(normal),	AO, WF },  { 0xacu, "shrdL",    Ev,   Gv,   Ib,   EMIT(normal),	AO, WF },  { 0xadu, "shrdL",    Ev,   Gv,   CL,   EMIT(normal),	AO, WF },  { 0xaeu, MMX_SSE_SSE2 },  { 0xafu, "imulL",    Gv,   Ev,   NONE, EMIT(normal),	AO, WF },  /* 0xb0 */  { 0xb0u, "cmpxchgB", Eb,   Gb,   NONE, EMIT(normal),	AX, WPF },  { 0xb1u, "cmpxchgL", Ev,   Gv,   NONE, EMIT(normal),	AO, WF },  { 0xb2u, "lss",      Gv,   Mp,   NONE, EMIT(normal),	AO, NF },  { 0xb3u, "btr",      Ev,   Gv,   NONE, EMIT(normal),	AO, WF },  { 0xb4u, "lfs",      Gv,   Mp,   NONE, EMIT(normal),	AO, NF },  { 0xb5u, "lgs",      Gv,   Mp,   NONE, EMIT(normal),	AO, NF },  { 0xb6u, "movzbL",   Gv,   Eb,   NONE, EMIT(normal),	AO, NF }, //#  { 0xb7u, "movzwL",   Gv,   Ew,   NONE, EMIT(normal),	AX, NF }, //#  /* 0xb8 */  { 0xb8u, RESERVED },  { 0xb9u, RESERVED },  { 0xbau, GROUP(group8_Ev_Ib) },  { 0xbbu, "btcL",     Ev,   Gv,   NONE, EMIT(normal),	AO, WF },  { 0xbcu, "bsfL",     Gv,   Ev,   NONE, EMIT(normal),	AO, WF },  { 0xbdu, "bsrL",     Gv,   Ev,   NONE, EMIT(normal),	AO, WF },  { 0xbeu, "movsxL",   Gv,   Eb,   NONE, EMIT(normal),	AO, NF },  { 0xbfu, "movsxL",   Gv,   Ew,   NONE, EMIT(normal),	AX, NF },  /* 0xc0 */  { 0xc0u, "xaddB",    Eb,   Gb,   NONE, EMIT(normal),	AX, WF },  { 0xc1u, "xaddL",    Ev,   Gv,   NONE, EMIT(normal),	AO, WF },  { 0xc2u, MMX_SSE_SSE2_Ib },  { 0xc3u, MMX_SSE_SSE2 },  { 0xc4u, MMX_SSE_SSE2_Ib },  { 0xc5u, MMX_SSE_SSE2_Ib },  { 0xc6u, MMX_SSE_SSE2_Ib },  { 0xc7u, GROUP(ngroup9) },  /* 0xc8 */  { 0xc8u, "bswap",    EAX,  NONE, NONE, EMIT(normal),	XX, NF },  { 0xc9u, "bswap",    ECX,  NONE, NONE, EMIT(normal),	XX, NF },  { 0xcau, "bswap",    EDX,  NONE, NONE, EMIT(normal),	XX, NF },  { 0xcbu, "bswap",    EBX,  NONE, NONE, EMIT(normal),	XX, NF },  { 0xccu, "bswap",    ESP,  NONE, NONE, EMIT(normal),	XX, NF },  { 0xcdu, "bswap",    EBP,  NONE, NONE, EMIT(normal),	XX, NF },  { 0xceu, "bswap",    ESI,  NONE, NONE, EMIT(normal),	XX, NF },  { 0xcfu, "bswap",    EDI,  NONE, NONE, EMIT(normal),	XX, NF },  /* 0xd0 */  { 0xd0u, RESERVED },  { 0xd1u, MMX_SSE_SSE2 },  { 0xd2u, MMX_SSE_SSE2 },  { 0xd3u, MMX_SSE_SSE2 },  { 0xd4u, MMX_SSE_SSE2 },  { 0xd5u, MMX_SSE_SSE2 },  { 0xd6u, MMX_SSE_SSE2 },  { 0xd7u, MMX_SSE_SSE2 },  /* 0xd8 */  { 0xd8u, MMX_SSE_SSE2 },  { 0xd9u, MMX_SSE_SSE2 },  { 0xdau, MMX_SSE_SSE2 },  { 0xdbu, MMX_SSE_SSE2 },  { 0xdcu, MMX_SSE_SSE2 },  { 0xddu, MMX_SSE_SSE2 },  { 0xdeu, MMX_SSE_SSE2 },  { 0xdfu, MMX_SSE_SSE2 },  /* 0xe0 */  { 0xe0u, MMX_SSE_SSE2 },  { 0xe1u, MMX_SSE_SSE2 },  { 0xe2u, MMX_SSE_SSE2 },  { 0xe3u, MMX_SSE_SSE2 },  { 0xe4u, MMX_SSE_SSE2 },  { 0xe5u, MMX_SSE_SSE2 },  { 0xe6u, MMX_SSE_SSE2 },  { 0xe7u, MMX_SSE_SSE2 },  /* 0xe8 */  { 0xe8u, MMX_SSE_SSE2 },  { 0xe9u, MMX_SSE_SSE2 },  { 0xeau, MMX_SSE_SSE2 },  { 0xebu, MMX_SSE_SSE2 },  { 0xecu, MMX_SSE_SSE2 },  { 0xedu, MMX_SSE_SSE2 },  { 0xeeu, MMX_SSE_SSE2 },  { 0xefu, MMX_SSE_SSE2 },  /* 0xf0 */  { 0xf0u, RESERVED },  { 0xf1u, MMX_SSE_SSE2 },  { 0xf2u, MMX_SSE_SSE2 },  { 0xf3u, MMX_SSE_SSE2 },  { 0xf4u, MMX_SSE_SSE2 },  { 0xf5u, MMX_SSE_SSE2 },  { 0xf6u, MMX_SSE_SSE2 },  { 0xf7u, MMX_SSE_SSE2 },  /* 0xf8 */  { 0xf8u, MMX_SSE_SSE2 },  { 0xf9u, MMX_SSE_SSE2 },  { 0xfau, MMX_SSE_SSE2 },  { 0xfbu, MMX_SSE_SSE2 },  { 0xfcu, MMX_SSE_SSE2 },  { 0xfdu, MMX_SSE_SSE2 },  { 0xfeu, MMX_SSE_SSE2 },  { 0xffu, RESERVED }};constOpCode group1_Eb_Ib[8] = {  { 0x00u, "addB",   Eb,   Ib,   NONE, EMIT(normal), AX, WF },  { 0x01u, "orB",    Eb,   Ib,   NONE, EMIT(normal), AX, WF },  { 0x02u, "adcB",   Eb,   Ib,   NONE, EMIT(normal), AX, RWF },  { 0x03u, "sbbB",   Eb,   Ib,   NONE, EMIT(normal), AX, RWF },  { 0x04u, "andB",   Eb,   Ib,   NONE, EMIT(normal), AX, WF },  { 0x05u, "subB",   Eb,   Ib,   NONE, EMIT(normal), AX, WF },  { 0x06u, "xorB",   Eb,   Ib,   NONE, EMIT(normal), AX, WF },  { 0x07u, "cmpB",   Eb,   Ib,   NONE, EMIT(normal), AX, WF }};/* 11 000 011 */constOpCode group1_Ev_Iv[8] = {  { 0x00u, "addL",   Ev,   Iv,   NONE, EMIT(normal), AO, WF },  { 0x01u, "orL",    Ev,   Iv,   NONE, EMIT(normal), AO, WF },  { 0x02u, "adcL",   Ev,   Iv,   NONE, EMIT(normal), AO, RWF },  { 0x03u, "sbbL",   Ev,   Iv,   NONE, EMIT(normal), AO, RWF },  { 0x04u, "andL",   Ev,   Iv,   NONE, EMIT(normal), AO, WF },  { 0x05u, "subL",   Ev,   Iv,   NONE, EMIT(normal), AO, WF },  { 0x06u, "xorL",   Ev,   Iv,   NONE, EMIT(normal), AO, WF },  { 0x07u, "cmpL",   Ev,   Iv,   NONE, EMIT(normal), AO, WF }};constOpCode group1_Ev_Ib[8] = {  { 0x00u, "addL",   Ev,   Ib,   NONE, EMIT(normal), AO, WF },  { 0x01u, "orL",    Ev,   Ib,   NONE, EMIT(normal), AO, WF },  { 0x02u, "adcL",   Ev,   Ib,   NONE, EMIT(normal), AO, RWF },  { 0x03u, "sbbL",   Ev,   Ib,   NONE, EMIT(normal), AO, RWF },  { 0x04u, "andL",   Ev,   Ib,   NONE, EMIT(normal), AO, WF },  { 0x05u, "subL",   Ev,   Ib,   NONE, EMIT(normal), AO, WF },  { 0x06u, "xorL",   Ev,   Ib,   NONE, EMIT(normal), AO, WF },  { 0x07u, "cmpL",   Ev,   Ib,   NONE, EMIT(normal), AO, WF }};constOpCode group2a_Eb_Ib[8] = {  { 0x00u, "rolB",   Eb,   Ib,   NONE, EMIT(normal), AX, WPF },  { 0x01u, "rorB",   Eb,   Ib,   NONE, EMIT(normal), AX, WPF },  { 0x02u, "rclB",   Eb,   Ib,   NONE, EMIT(normal), AX, RWF },  { 0x03u, "rcrB",   Eb,   Ib,   NONE, EMIT(normal), AX, RWF },  { 0x04u, "shlB",   Eb,   Ib,   NONE, EMIT(normal), AX, WF },  { 0x05u, "shrB",   Eb,   Ib,   NONE, EMIT(normal), AX, WF },  { 0x06u, RESERVED },  { 0x07u, "sarB",   Eb,   Ib,   NONE, EMIT(normal), AX, WF }};constOpCode group2a_Ev_Ib[8] = {  { 0x00u, "rolL",   Ev,   Ib,   NONE, EMIT(normal), AO, WPF },  { 0x01u, "rorL",   Ev,   Ib,   NONE, EMIT(normal), AO, WPF },  { 0x02u, "rclL",   Ev,   Ib,   NONE, EMIT(normal), AO, RWF },  { 0x03u, "rcrL",   Ev,   Ib,   NONE, EMIT(normal), AO, RWF },  { 0x04u, "shlL",   Ev,   Ib,   NONE, EMIT(normal), AO, WF },  { 0x05u, "shrL",   Ev,   Ib,   NONE, EMIT(normal), AO, WF },  { 0x06u, RESERVED },  { 0x07u, "sarL",   Ev,   Ib,   NONE, EMIT(normal), AO, WF }};constOpCode group2_Eb_1[8] = {  { 0x00u, "rolB",   Eb,   NONE, NONE, EMIT(normal), AX, WPF },  { 0x01u, "rorB",   Eb,   NONE, NONE, EMIT(normal), AX, WPF },  { 0x02u, "rclB",   Eb,   NONE, NONE, EMIT(normal), AX, RWF },  { 0x03u, "rcrB",   Eb,   NONE, NONE, EMIT(normal), AX, RWF },  { 0x04u, "shlB",   Eb,   NONE, NONE, EMIT(normal), AX, WF },  { 0x05u, "shrB",   Eb,   NONE, NONE, EMIT(normal), AX, WF },  { 0x06u, RESERVED },  { 0x07u, "sarB",   Eb,   NONE,   NONE, EMIT(normal), AX, WF }};constOpCode group2_Ev_1[8] = {  { 0x00u, "rolL",   Ev,   NONE, NONE, EMIT(normal), AO, WPF },  { 0x01u, "rorL",   Ev,   NONE, NONE, EMIT(normal), AO, WPF },  { 0x02u, "rclL",   Ev,   NONE, NONE, EMIT(normal), AO, RWF },  { 0x03u, "rcrL",   Ev,   NONE, NONE, EMIT(normal), AO, RWF },  { 0x04u, "shlL",   Ev,   NONE, NONE, EMIT(normal), AO, WF },  { 0x05u, "shrL",   Ev,   NONE, NONE, EMIT(normal), AO, WF },  { 0x06u, RESERVED },  { 0x07u, "sarL",   Ev,   NONE, NONE, EMIT(normal), AO, WF }};constOpCode group2_Eb_CL[8] = {  { 0x00u, "rolB",   Eb,   CL,   NONE, EMIT(normal), AX, WPF },  { 0x01u, "rorB",   Eb,   CL,   NONE, EMIT(normal), AX, WPF },  { 0x02u, "rclB",   Eb,   CL,   NONE, EMIT(normal), AX, RWF },  { 0x03u, "rcrB",   Eb,   CL,   NONE, EMIT(normal), AX, RWF },  { 0x04u, "shlB",   Eb,   CL,   NONE, EMIT(normal), AX, WF },  { 0x05u, "shrB",   Eb,   CL,   NONE, EMIT(normal), AX, WF },  { 0x06u, RESERVED },  { 0x07u, "sarB",   Eb,   CL,   NONE, EMIT(normal), AX, WF }};constOpCode group2_Ev_CL[8] = {  { 0x00u, "rolL",   Ev,   CL,   NONE, EMIT(normal), AO, WPF },  { 0x01u, "rorL",   Ev,   CL,   NONE, EMIT(normal), AO, WPF },  { 0x02u, "rclL",   Ev,   CL,   NONE, EMIT(normal), AO, RWF },  { 0x03u, "rcrL",   Ev,   CL,   NONE, EMIT(normal), AO, RWF },  { 0x04u, "shlL",   Ev,   CL,   NONE, EMIT(normal), AO, WF },  { 0x05u, "shrL",   Ev,   CL,   NONE, EMIT(normal), AO, WF },  { 0x06u, RESERVED },  { 0x07u, "sarL",   Ev,   CL,   NONE, EMIT(normal), AO, WF }};constOpCode group3b[8] = {  { 0x00u, "testB",  Eb,   Ib, NONE, EMIT(normal), AX, WF },  { 0x01u, RESERVED },  { 0x02u, "notB",   Eb,   NONE, NONE, EMIT(normal), AX, WF },  { 0x03u, "negB",   Eb,   NONE, NONE, EMIT(normal), AX, WF },  { 0x04u, "mulB",   AL,   Eb,   NONE, EMIT(normal), AX, WF },  { 0x05u, "imulB",  AL,   Eb,   NONE, EMIT(normal), AX, WF },  { 0x06u, "divB",   AL,   Eb,   NONE, EMIT(normal), AX, WF },  { 0x07u, "idivB",  AL,   Eb,   NONE, EMIT(normal), AX, WF }};constOpCode group3v[8] = {  { 0x00u, "testL",  Ev,   Iv,   NONE, EMIT(normal), AO, WF },  { 0x01u, RESERVED },  { 0x02u, "notL",   Ev,     NONE, NONE, EMIT(normal), AO, WF },  { 0x03u, "negL",   Ev,     NONE, NONE, EMIT(normal), AO, WF },  { 0x04u, "mulL",   eAX,    Ev,   NONE, EMIT(normal), AO, WF },  { 0x05u, "imulL",  eAX,    Ev,   NONE, EMIT(normal), AO, WF },  { 0x06u, "divL",   eAX,    Ev,   NONE, EMIT(normal), AO, WF },  { 0x06u, "idivL",  eAX,    Ev,   NONE, EMIT(normal), AO, WF }};constOpCode ngroup4[8] = {  { 0x00u, "incB",   Eb,     NONE, NONE, EMIT(normal), AX, WAOF },  { 0x01u, "decB",   Eb,     NONE, NONE, EMIT(normal), AX, WAOF },  { 0x02u, RESERVED },  { 0x03u, RESERVED },  { 0x04u, RESERVED },  { 0x05u, RESERVED },  { 0x06u, RESERVED },  { 0x07u, RESERVED }};constOpCode ngroup5[8] = {  { 0x00u, "incL",   Ev,     NONE, NONE, EMIT(normal), AO, WAOF },  { 0x01u, "decL",   Ev,     NONE, NONE, EMIT(normal), AO, WAOF },  { 0x02u, "callL",  Ev,     NONE, NONE, EMIT(call_near_mem), AO | JJ, NF },  { 0x03u, "call",   Ep,     NONE, NONE, EMIT(normal), AO, NF },  { 0x04u, "jmpL",   Ev,     NONE, NONE, EMIT(jmp_near_mem), AO | JJ, NF },  { 0x05u, "jmp",    Ep,     NONE, NONE, EMIT(normal), AO, NF },  { 0x06u, "pushL",  Ev,     NONE, NONE, EMIT(normal), AO, NF },  { 0x07u, RESERVED }};constOpCode ngroup6[8] = {  { 0x00u, "sldt",   Ew,     NONE, NONE, EMIT(normal), AX, NF },  { 0x01u, "str",    Ew,     NONE, NONE, EMIT(normal), AX, NF },  { 0x02u, "lldt",   Ew,     NONE, NONE, EMIT(normal), AX, NF },  { 0x03u, "ltr",    Ew,     NONE, NONE, EMIT(normal), AX, NF },  { 0x04u, "verr",   Ew,     NONE, NONE, EMIT(normal), AX, WPF },  { 0x05u, "verw",   Ew,     NONE, NONE, EMIT(normal), AX, WPF },  { 0x06u, RESERVED },  { 0x07u, RESERVED }};const

⌨️ 快捷键说明

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