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

📄 x86opc.cc

📁 功能较全面的反汇编器:反汇编器ht-2.0.15.tar.gz
💻 CC
📖 第 1 页 / 共 5 页
字号:
/* *	HT Editor *	x86opc.cc * *	Copyright (C) 1999-2002 Stefan Weyergraf *	Copyright (C) 2005-2008 Sebastian Biallas (sb@biallas.net) * *	This program is free software; you can redistribute it and/or modify *	it under the terms of the GNU General Public License version 2 as *	published by the Free Software Foundation. * *	This program is distributed in the hope that it will be useful, *	but WITHOUT ANY WARRANTY; without even the implied warranty of *	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *	GNU General Public License for more details. * *	You should have received a copy of the GNU General Public License *	along with this program; if not, write to the Free Software *	Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */#include "x86opc.h"x86opc_insn_op x86_op_type[] = {#define _0	0{TYPE_0, 0, 0, SIZE_0},#define _064	_0+1{TYPE_0, 0, INFO_DEFAULT_64, SIZE_0},#define Ap	_064+1{TYPE_A, 0, 0, SIZE_P},#define Cd	Ap+1{TYPE_C, 0, INFO_DEFAULT_64, SIZE_D},#define Dd	Cd+1{TYPE_D, 0, 0, SIZE_D},#define Eb	Dd+1{TYPE_E, 0, 0, SIZE_B},#define Ew	Eb+1{TYPE_E, 0, 0, SIZE_W},#define Ed	Ew+1{TYPE_E, 0, 0, SIZE_D},#define Eq	Ed+1{TYPE_E, 0, 0, SIZE_Q},#define Er	Eq+1{TYPE_E, 0, 0, SIZE_R},#define Ev	Er+1{TYPE_E, 0, 0, SIZE_V},#define Ev64	Ev+1{TYPE_E, 0, INFO_DEFAULT_64, SIZE_V},#define Gb	Ev64+1{TYPE_G, 0, 0, SIZE_B},#define Gw	Gb+1{TYPE_G, 0, 0, SIZE_W},#define Gv	Gw+1{TYPE_G, 0, 0, SIZE_V},#define Gv64	Gv+1{TYPE_G, 0, INFO_DEFAULT_64, SIZE_V},#define Gd	Gv64+1{TYPE_G, 0, 0, SIZE_D},#define Gr	Gd+1{TYPE_G, 0, 0, SIZE_R},#define Gq	Gr+1{TYPE_G, 0, 0, SIZE_Q},#define Ib	Gq+1{TYPE_I, 0, 0, SIZE_B},#define Iw	Ib+1{TYPE_I, 0, 0, SIZE_W},#define Iv	Iw+1{TYPE_I, 0, 0, SIZE_VV},#define Iv64	Iv+1{TYPE_I, 0, INFO_DEFAULT_64, SIZE_VV},#define Ivq	Iv64+1{TYPE_I, 0, 0, SIZE_V},#define Ibv	Ivq+1{TYPE_I, 0, 0, SIZE_BV},#define sIbv	Ibv+1{TYPE_Is,0, 0, SIZE_BV},#define sIbv64	sIbv+1{TYPE_Is,0, INFO_DEFAULT_64, SIZE_BV},#define I4	sIbv64+1{TYPE_I4, 0, 0, SIZE_B},#define Jb	I4+1{TYPE_J, 0, 0, SIZE_B},#define Jv	Jb+1{TYPE_J, 0, 0, SIZE_VV},#define M	Jv+1{TYPE_M, 0, 0, SIZE_0},#define Mw	M+1{TYPE_M, 0, 0, SIZE_W},#define Md	Mw+1{TYPE_M, 0, 0, SIZE_D},#define Mp	Md+1{TYPE_M, 0, 0, SIZE_P},#define Mq	Mp+1{TYPE_M, 0, 0, SIZE_Q},#define Mv	Mq+1{TYPE_M, 0, 0, SIZE_V},#define Mr	Mv+1{TYPE_M, 0, 0, SIZE_R},#define Mo	Mr+1{TYPE_M, 0, 0, SIZE_O},#define Ms	Mo+1{TYPE_M, 0, 0, SIZE_S},#define Ml	Ms+1{TYPE_M, 0, 0, SIZE_L},#define Mt	Ml+1{TYPE_M, 0, 0, SIZE_T},#define Ma	Mt+1{TYPE_M, 0, 0, SIZE_A},#define Mu	Ma+1{TYPE_M, 0, 0, SIZE_U},#define My	Mu+1{TYPE_M, 0, 0, SIZE_Y},#define MRbr	My+1{TYPE_MR, SIZE_R, 0, SIZE_B},#define MRwr	MRbr+1{TYPE_MR, SIZE_R, 0, SIZE_W},#define MRdr	MRwr+1{TYPE_MR, SIZE_R, 0, SIZE_D},#define MRbd	MRdr+1{TYPE_MR, SIZE_D, 0, SIZE_B},#define Ob	MRbd+1{TYPE_O, 0, 0, SIZE_B},#define Ov	Ob+1{TYPE_O, 0, 0, SIZE_V},#define Pd	Ov+1{TYPE_P, 0, 0, SIZE_D},#define Pq	Pd+1{TYPE_P, 0, 0, SIZE_Q},#define Pu	Pq+1{TYPE_P, 0, 0, SIZE_U},#define PRq	Pu+1{TYPE_PR, 0, 0, SIZE_Q},#define PRu	PRq+1{TYPE_PR, 0, 0, SIZE_U},#define Qd	PRu+1{TYPE_Q, 0, 0, SIZE_D},#define Qq	Qd+1{TYPE_Q, 0, 0, SIZE_Q},#define Qu	Qq+1{TYPE_Q, 0, 0, SIZE_U},#define Qz	Qu+1{TYPE_Q, 0, 0, SIZE_Z},#define Rw	Qz+1{TYPE_R, 0, 0, SIZE_W},#define Rr	Rw+1{TYPE_R, 0, 0, SIZE_R},#define Rr64	Rr+1{TYPE_R, 0, INFO_DEFAULT_64, SIZE_R},#define Sw	Rr64+1{TYPE_S, 0, 0, SIZE_W},#define Vd	Sw+1{TYPE_V, 0, 0, SIZE_D},#define Vq	Vd+1{TYPE_V, 0, 0, SIZE_Q},#define Vo	Vq+1{TYPE_V, 0, 0, SIZE_O},#define Vu	Vo+1{TYPE_V, 0, 0, SIZE_U},#define Vz	Vu+1{TYPE_V, 0, 0, SIZE_Z},#define VRq	Vz+1{TYPE_VR, 0, 0, SIZE_Q},#define VRo	VRq+1{TYPE_VR, 0, 0, SIZE_O},#define VVo	VRo+1{TYPE_VV, 0, 0, SIZE_O},#define VIo	VVo+1{TYPE_VI, 0, 0, SIZE_O},#define Ww	VIo+1{TYPE_W, 0, 0, SIZE_W},#define Wd	Ww+1{TYPE_W, 0, 0, SIZE_D},#define Wq	Wd+1{TYPE_W, 0, 0, SIZE_Q},#define Wo	Wq+1{TYPE_W, 0, 0, SIZE_O},#define Wu	Wo+1{TYPE_W, 0, 0, SIZE_U},#define Wz	Wu+1{TYPE_W, 0, 0, SIZE_Z},#define Yy	Wz+1{TYPE_Y, 0, 0, SIZE_Y},#define YVy	Yy+1{TYPE_YV, 0, 0, SIZE_Y},#define YIy	YVy+1{TYPE_YI, 0, 0, SIZE_Y},#define YRy	YIy+1{TYPE_YR, 0, 0, SIZE_Y},#define Xy	YRy+1{TYPE_X, 0, 0, SIZE_Y},#define VD	Xy+1{TYPE_VD, 0, 0, SIZE_O},#define VS0d	VD+1{TYPE_VS, 0, 0, SIZE_D},#define VS0q	VS0d+1{TYPE_VS, 0, 0, SIZE_Q},#define VS0o	VS0q+1{TYPE_VS, 0, 0, SIZE_Q},#define VS00d	VS0o+1{TYPE_VS, 0, 1, SIZE_Q},#define VS00q	VS00d+1{TYPE_VS, 0, 1, SIZE_Q},#define VS00o	VS00q+1{TYPE_VS, 0, 1, SIZE_O},#define VS1d	VS00o+1{TYPE_VS, 1, 0, SIZE_D},#define VS1q	VS1d+1{TYPE_VS, 1, 0, SIZE_Q},#define VS1o	VS1q+1{TYPE_VS, 1, 0, SIZE_O},#define Ft	VS1o+1{TYPE_F, 0, 0, SIZE_T},#define __st	Ft+1{TYPE_Fx, 0, 0, SIZE_T},#define __1	__st+1{TYPE_Ix, 1, 0, SIZE_B},#define __3	__1+1{TYPE_Ix, 3, 0, SIZE_B},#define X__al	__3+1{TYPE_RXx, 0, 0, SIZE_B},#define X__cl	X__al+1{TYPE_RXx, 1, 0, SIZE_B},#define __al	X__cl+1{TYPE_Rx, 0, 0, SIZE_B},#define __cl	__al+1{TYPE_Rx, 1, 0, SIZE_B},#define __dl	__cl+1{TYPE_Rx, 2, 0, SIZE_B},#define __bl	__dl+1{TYPE_Rx, 3, 0, SIZE_B},#define __ah	__bl+1{TYPE_Rx, 4, 0, SIZE_B},#define __ch	__ah+1{TYPE_Rx, 5, 0, SIZE_B},#define __dh	__ch+1{TYPE_Rx, 6, 0, SIZE_B},#define __bh	__dh+1{TYPE_Rx, 7, 0, SIZE_B},#define X__ax	__bh+1{TYPE_RXx, 0, 0, SIZE_V},#define __ax	X__ax+1{TYPE_Rx, 0, 0, SIZE_V},#define __cx	__ax+1{TYPE_Rx, 1, 0, SIZE_V},#define __dx	__cx+1{TYPE_Rx, 2, 0, SIZE_V},#define __bx	__dx+1{TYPE_Rx, 3, 0, SIZE_V},#define __sp	__bx+1{TYPE_Rx, 4, 0, SIZE_V},#define __bp	__sp+1{TYPE_Rx, 5, 0, SIZE_V},#define __si	__bp+1{TYPE_Rx, 6, 0, SIZE_V},#define __di	__si+1{TYPE_Rx, 7, 0, SIZE_V},#define __ax64	__di+1{TYPE_Rx, 0, INFO_DEFAULT_64, SIZE_V},#define __cx64	__ax64+1{TYPE_Rx, 1, INFO_DEFAULT_64, SIZE_V},#define __dx64	__cx64+1{TYPE_Rx, 2, INFO_DEFAULT_64, SIZE_V},#define __bx64	__dx64+1{TYPE_Rx, 3, INFO_DEFAULT_64, SIZE_V},#define __sp64	__bx64+1{TYPE_Rx, 4, INFO_DEFAULT_64, SIZE_V},#define __bp64	__sp64+1{TYPE_Rx, 5, INFO_DEFAULT_64, SIZE_V},#define __si64	__bp64+1{TYPE_Rx, 6, INFO_DEFAULT_64, SIZE_V},#define __di64	__si64+1{TYPE_Rx, 7, INFO_DEFAULT_64, SIZE_V},#define X__axw	__di64+1{TYPE_RXx, 0, 0, SIZE_W},#define X__dxw	X__axw+1{TYPE_RXx, 2, 0, SIZE_W},#define __axdq	X__dxw+1{TYPE_Rx, 0, 0, SIZE_R},#define __cxdq	__axdq+1{TYPE_Rx, 1, 0, SIZE_R},#define __dxdq	__cxdq+1{TYPE_Rx, 2, 0, SIZE_R},#define __bxdq	__dxdq+1{TYPE_Rx, 3, 0, SIZE_R},#define __spdq	__bxdq+1{TYPE_Rx, 4, 0, SIZE_R},#define __bpdq	__spdq+1{TYPE_Rx, 5, 0, SIZE_R},#define __sidq	__bpdq+1{TYPE_Rx, 6, 0, SIZE_R},#define __didq	__sidq+1{TYPE_Rx, 7, 0, SIZE_R},#define __es	__didq+1{TYPE_Sx, 0, 0, SIZE_W},#define __cs	__es+1{TYPE_Sx, 1, 0, SIZE_W},#define __ss	__cs+1{TYPE_Sx, 2, 0, SIZE_W},#define __ds	__ss+1{TYPE_Sx, 3, 0, SIZE_W},#define __fs	__ds+1{TYPE_Sx, 4, 0, SIZE_W},#define __gs	__fs+1{TYPE_Sx, 5, 0, SIZE_W},#define __st0	__gs+1{TYPE_F, 0, 0, SIZE_T},#define __st1	__st0+1{TYPE_F, 1, 0, SIZE_T},#define __st2	__st1+1{TYPE_F, 2, 0, SIZE_T},#define __st3	__st2+1{TYPE_F, 3, 0, SIZE_T},#define __st4	__st3+1{TYPE_F, 4, 0, SIZE_T},#define __st5	__st4+1{TYPE_F, 5, 0, SIZE_T},#define __st6	__st5+1{TYPE_F, 6, 0, SIZE_T},#define __st7	__st6+1{TYPE_F, 7, 0, SIZE_T},#define XMM0	__st7+1{TYPE_Vx, 0, 0, SIZE_O},};const char *x86_regs[4][8] = {{"al",  "cl",  "dl",  "bl",  "ah",  "ch",  "dh",  "bh"},{"ax",  "cx",  "dx",  "bx",  "sp",  "bp",  "si",  "di"},{"eax", "ecx", "edx", "ebx", "esp", "ebp", "esi", "edi"},{"rax", "rcx", "rdx", "rbx", "rsp", "rbp", "rsi", "rdi"},};const char *x86_64regs[4][16] = {{"al",  "cl",  "dl",   "bl",   "spl",  "bpl",  "sil",  "dil", "r8b", "r9b", "r10b", "r11b", "r12b", "r13b", "r14b", "r15b"},{"ax",  "cx",  "dx",   "bx",   "sp",   "bp",   "si",   "di", "r8w", "r9w", "r10w", "r11w", "r12w", "r13w", "r14w", "r15w"},{"eax", "ecx", "edx",  "ebx",  "esp",  "ebp",  "esi",  "edi", "r8d", "r9d", "r10d", "r11d", "r12d", "r13d", "r14d", "r15d"},{"rax", "rcx", "rdx",  "rbx",  "rsp",  "rbp",  "rsi",  "rdi", "r8",  "r9",  "r10",  "r11",  "r12",  "r13",  "r14",  "r15"},};const char *x86_ipregs[4] = { "", "ip", "eip", "rip",};const char *x86_segs[8] = {"es", "cs", "ss", "ds", "fs", "gs", 0, 0};#define GROUP_OPC_0F38		0#define GROUP_OPC_660F38	1#define GROUP_OPC_F20F38	2#define GROUP_OPC_0F3A		3#define GROUP_OPC_660F3A	4#define GROUP_OPC_0F7A		5#define GROUP_OPC_0F7B		6#define GROUP_OPC_0F24		7#define GROUP_OPC_0F25		8#define GROUP_80		0#define GROUP_81		1#define GROUP_83		2#define GROUP_8F		3#define GROUP_C0		4#define GROUP_C1		5#define GROUP_C6		6#define GROUP_C7                7#define GROUP_D0		8#define GROUP_D1		9#define GROUP_D2		10#define GROUP_D3		11#define GROUP_F6		12#define GROUP_F7		13#define GROUP_FE		14#define GROUP_FF		15#define GROUP_EXT_00		16#define GROUP_EXT_01		17#define GROUP_EXT_18		18#define GROUP_EXT_71		19#define GROUP_EXT_72		20#define GROUP_EXT_73		21#define GROUP_EXT_AE		22#define GROUP_EXT_BA		23#define GROUP_EXT_C7		24#define GROUP_EXT_66_C7		25#define GROUP_EXT_F3_C7		26#define GROUP_SPECIAL_0F01_0	0#define GROUP_SPECIAL_0F01_1	1#define GROUP_SPECIAL_0F01_2	2#define GROUP_SPECIAL_0F01_3	3#define GROUP_SPECIAL_0F01_7	4#define GROUP_SPECIAL_0FAE_0	5#define GROUP_SPECIAL_0FAE_1	6#define GROUP_SPECIAL_0FAE_2	7#define GROUP_SPECIAL_0FAE_3	8#define GROUP_SPECIAL_0FAE_4	9#define GROUP_SPECIAL_0FAE_5	10#define GROUP_SPECIAL_0FAE_6	11#define GROUP_SPECIAL_0FAE_7	12#define GROUP_0FAE		0#define GROUP_660F71		1#define GROUP_660F72		2#define GROUP_660F73		3/*	Opcode name modifiers 	~ ambigous size (need explicit "size ptr")		first char after ~:	|    alternative mnemonics with same semantic (|je|jz)	?    different name depending on opsize    (?16bit|32bit|64bit)	*    different name depending on addrsize  (*16bit|32bit|64bit)	&    same as '?' for disassembler and '|' for assembler */x86opc_insn x86_les = {"les", {Gv, Mp}};x86opc_insn x86_lds = {"lds", {Gv, Mp}};x86opc_insn x86_32_insns[256] = {/* 00 */{"add", {Eb, Gb}},{"add", {Ev, Gv}},{"add", {Gb, Eb}},{"add", {Gv, Ev}},{"add", {X__al, Ib}},{"add", {X__ax, Iv}},{"push", {__es}},{"pop", {__es}},/* 08 */{"or", {Eb, Gb}},{"or", {Ev, Gv}},{"or", {Gb, Eb}},{"or", {Gv, Ev}},{"or", {X__al, Ib}},{"or", {X__ax, Iv}},{"push", {__cs}},{0, {SPECIAL_TYPE_PREFIX}},/* 10 */{"adc", {Eb, Gb}},{"adc", {Ev, Gv}},{"adc", {Gb, Eb}},{"adc", {Gv, Ev}},{"adc", {X__al, Ib}},{"adc", {X__ax, Iv}},{"push", {__ss}},{"pop", {__ss}},/* 18 */{"sbb", {Eb, Gb}},{"sbb", {Ev, Gv}},{"sbb", {Gb, Eb}},{"sbb", {Gv, Ev}},{"sbb", {X__al, Ib}},{"sbb", {X__ax, Iv}},{"push", {__ds}},{"pop", {__ds}},/* 20 */{"and", {Eb, Gb}},{"and", {Ev, Gv}},{"and", {Gb, Eb}},{"and", {Gv, Ev}},{"and", {X__al, Ib}},{"and", {X__ax, Iv}},{0, {SPECIAL_TYPE_PREFIX}},		/* es-prefix */{"daa"},/* 28 */{"sub", {Eb, Gb}},{"sub", {Ev, Gv}},{"sub", {Gb, Eb}},{"sub", {Gv, Ev}},{"sub", {X__al, Ib}},{"sub", {X__ax, Iv}},{0, {SPECIAL_TYPE_PREFIX}},		/* cs-prefix */{"das"},/* 30 */{"xor", {Eb, Gb}},{"xor", {Ev, Gv}},{"xor", {Gb, Eb}},{"xor", {Gv, Ev}},{"xor", {X__al, Ib}},{"xor", {X__ax, Iv}},{0, {SPECIAL_TYPE_PREFIX}},		/* ss-prefix */{"aaa"},/* 38 */{"cmp", {Eb, Gb}},{"cmp", {Ev, Gv}},{"cmp", {Gb, Eb}},{"cmp", {Gv, Ev}},{"cmp", {X__al, Ib}},{"cmp", {X__ax, Iv}},{0, {SPECIAL_TYPE_PREFIX}},		/* ds-prefix */{"aas"},/* 40 */{"inc", {__ax}},{"inc", {__cx}},{"inc", {__dx}},{"inc", {__bx}},{"inc", {__sp}},{"inc", {__bp}},{"inc", {__si}},{"inc", {__di}},/* 48 */{"dec", {__ax}},{"dec", {__cx}},{"dec", {__dx}},{"dec", {__bx}},{"dec", {__sp}},{"dec", {__bp}},{"dec", {__si}},{"dec", {__di}},/* 50 */{"push", {__ax64}},{"push", {__cx64}},{"push", {__dx64}},{"push", {__bx64}},{"push", {__sp64}},{"push", {__bp64}},{"push", {__si64}},{"push", {__di64}},/* 58 */{"pop", {__ax64}},{"pop", {__cx64}},{"pop", {__dx64}},{"pop", {__bx64}},{"pop", {__sp64}},{"pop", {__bp64}},{"pop", {__si64}},{"pop", {__di64}},/* 60 */{"?pusha|pushad| x"},{"?popa|popad| x"},{"bound", {Gv, Mq}},{"arpl", {Ew, Rw}},			//{"movsxd", {Gv, Ed}},{0, {SPECIAL_TYPE_PREFIX}},		/* fs-prefix */{0, {SPECIAL_TYPE_PREFIX}},		/* gs-prefix */{0, {SPECIAL_TYPE_PREFIX}},		/* op-size prefix */{0, {SPECIAL_TYPE_PREFIX}},		/* addr-size prefix *//* 68 */{"push", {Iv64}},{"imul", {Gv, Ev, Iv}},{"push", {sIbv64}},{"imul", {Gv, Ev, sIbv}},{"insb"},{"?insw|insd|insd"},{"outsb"},{"?outsw|outsd|outsd"},/* 70 */{"jo", {Jb}},{"jno", {Jb}},{"|jc|jb|jnae", {Jb}},{"|jnc|jnb|jae", {Jb}},{"|jz|je", {Jb}},{"|jnz|jne", {Jb}},{"|jna|jbe", {Jb}},{"|ja|jnbe", {Jb}},/* 78 */{"js", {Jb}},{"jns", {Jb}},{"|jp|jpe", {Jb}},{"|jnp|jpo", {Jb}},{"|jl|jnge", {Jb}},{"|jnl|jge", {Jb}},{"|jng|jle", {Jb}},{"|jg|jnle", {Jb}},/* 80 */{0, {SPECIAL_TYPE_GROUP, GROUP_80}},{0, {SPECIAL_TYPE_GROUP, GROUP_81}},{0},{0, {SPECIAL_TYPE_GROUP, GROUP_83}},{"test", {Eb, Gb}},{"test", {Ev, Gv}},{"xchg", {Eb, Gb}},{"xchg", {Ev, Gv}},/* 88 */{"mov", {Eb, Gb}},{"mov", {Ev, Gv}},{"mov", {Gb, Eb}},{"mov", {Gv, Ev}},{"mov", {Ev, Sw}},{"lea", {Gv, M}},{"mov", {Sw, Ev}},{0, {SPECIAL_TYPE_GROUP, GROUP_8F}},/* 90 */{"nop"},		/* same as xchg (e)ax, (e)ax */{"xchg", {X__ax, __cx}},{"xchg", {X__ax, __dx}},{"xchg", {X__ax, __bx}},{"xchg", {X__ax, __sp}},{"xchg", {X__ax, __bp}},{"xchg", {X__ax, __si}},{"xchg", {X__ax, __di}},/* 98 */{"?cbw|cwde|cdqe"},{"?cwd|cdq|cqo"},{"~call", {Ap}},{"fwait"},{"?pushf|pushfd|pushfq", {_064}},{"?popf|popfd|popfq", {_064}},{"sahf"},{"lahf"},/* A0 */{"mov", {X__al, Ob}},{"mov", {X__ax, Ov}},{"mov", {Ob, X__al}},{"mov", {Ov, X__ax}},{"movsb"},{"?movsw|movsd|movsq"},{"cmpsb"},{"?cmpsw|cmpsd|cmpsq"},/* A8 */{"test", {X__al, Ib}},{"test", {X__ax, Iv}},{"stosb"},{"?stosw|stosd|stosq"},{"lodsb"},{"?lodsw|lodsd|lodsq"},{"scasb"},{"?scasw|scasd|scasq"},/* B0 */{"mov", {__al, Ib}},{"mov", {__cl, Ib}},{"mov", {__dl, Ib}},{"mov", {__bl, Ib}},{"mov", {__ah, Ib}},{"mov", {__ch, Ib}},{"mov", {__dh, Ib}},{"mov", {__bh, Ib}},/* B8 */{"mov", {__ax, Ivq}},{"mov", {__cx, Ivq}},{"mov", {__dx, Ivq}},{"mov", {__bx, Ivq}},{"mov", {__sp, Ivq}},{"mov", {__bp, Ivq}},{"mov", {__si, Ivq}},{"mov", {__di, Ivq}},/* C0 */{0, {SPECIAL_TYPE_GROUP, GROUP_C0}},{0, {SPECIAL_TYPE_GROUP, GROUP_C1}},{"ret", {Iw}},{"ret"},{0, {SPECIAL_TYPE_PREFIX}}, // VEX prefix {"les", {Gv, Mp}}{0, {SPECIAL_TYPE_PREFIX}}, // VEX prefix {"lds", {Gv, Mp}}{0, {SPECIAL_TYPE_GROUP, GROUP_C6}},{0, {SPECIAL_TYPE_GROUP, GROUP_C7}},/* C8 */{"enter", {Iw, Ib}},{"leave"},{"retf", {Iw}},{"retf"},{"int", {__3}},{"int", {Ib}},{"into"},{"?iret|iretd|iretq"},/* D0 */{0, {SPECIAL_TYPE_GROUP, GROUP_D0}},{0, {SPECIAL_TYPE_GROUP, GROUP_D1}},{0, {SPECIAL_TYPE_GROUP, GROUP_D2}},{0, {SPECIAL_TYPE_GROUP, GROUP_D3}},{"aam", {Ib}},{"aad", {Ib}},{"setalc"},{"xlat"},/* D8 */{0, {SPECIAL_TYPE_FGROUP, 0}},{0, {SPECIAL_TYPE_FGROUP, 1}},{0, {SPECIAL_TYPE_FGROUP, 2}},

⌨️ 快捷键说明

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