📄 tables.c
字号:
/* 5 */ {"push","eAX"}, {"push","eCX"}, {"push","eDX"}, {"push","eBX"}, {"push","eSP"}, {"push","eBP"}, {"push","eSI"}, {"push","eDI"}, /* 5 */ {"pop","eAX"}, {"pop","eCX"}, {"pop","eDX"}, {"pop","eBX"}, {"pop","eSP"}, {"pop","eBP"}, {"pop","eSI"}, {"pop","eDI"}, /* 5 */
},
{
/* 6 */ {"pusha",N}, {"popa",N}, {"bound","Gv,Ma"}, {"arpl","Ew,Gw"}, {"PREFIX",N}, {"PREFIX",N}, {"PREFIX",N}, {"PREFIX",N}, /* 6 */ {"push","Iv"}, {"imul","Gv,Ev,Iv"}, {"push","Ib"}, {"imul","Gv,Ev,Ib"}, {"ins","Yb,DX"}, {"ins","Yv,DX"}, {"outs","DX,Xb"}, {"outs","DX,Xv"}, /* 6 */
},
{
/* 7 */ {"jo","Jb"}, {"jno","Jb"}, {"jb","Jb"}, {"jnb","Jb"}, {"je","Jb"}, {"jne","Jb"}, {"jbe","Jb"}, {"jnbe","Jb"}, /* 7 */ {"js","Jb"}, {"jns","Jb"}, {"jp","Jb"}, {"jnp","Jb"}, {"jl","Jb"}, {"jnl","Jb"}, {"jle","Jb"}, {"jnle","Jb"}, /* 7 */
},
{
/* 8 */ {"__G1","Eb,Ib"}, {"__G1","Ev,Iv"}, {"__G1","Ev,Ib"}, {"__G1","Ev,Ib"}, {"test","Eb,Gb"}, {"test","Ev,Gv"}, {"xchg","Eb,Gb"}, {"xchg","Ev,Gv"}, /* 8 */ {"mov","Eb,Gb"}, {"mov","Ev,Gv"}, {"mov","Gb,Eb"}, {"mov","Gv,Ev"}, {"mov","Ew,Sw"}, {"lea","Gv,Mv"}, {"mov","Sw,Ew"}, {"pop","Ev"}, /* 8 */
},
{
/* 9 */ {"nop",N}, {"xchg","eAX,eCX"}, {"xchg","eAX,eDX"}, {"xchg","eAX,eBX"}, {"xchg","eAX,eSP"}, {"xchg","eAX,eBP"}, {"xchg","eAX,eSI"}, {"xchg","eAX,eDI"}, /* 9 */ {"cbw/cwde",N}, {"cwd/cdq",N}, {"call","Ap"}, {"fwait",N}, {"pushf/pushfd",N}, {"popf/popfd",N}, {"sahf",N}, {"lahf",N}, /* 9 */
},
{
/* A */ {"mov","AL,Ov"}, {"mov","eAX,Ov"}, {"mov","Ob,AL"}, {"mov","Ov,eAX"}, {"movs","Yb,Xb"}, {"movs","Yv,Xv"}, {"cmps","Xb,Yb"}, {"cmps","Xv,Yv"}, /* A */ {"test","AL,Ib"}, {"test","eAX,Iv"}, {"stos","Yb"}, {"stos","Yv"}, {"lods","AL,Xb"}, {"lods","eAX,Xv"}, {"scas","Yb"}, {"scas","Xv"}, /* A */
},
{
/* B */ {"mov","AL,Ib"}, {"mov","CL,Ib"}, {"mov","DL,Ib"}, {"mov","BL,Ib"}, {"mov","AH,Ib"}, {"mov","CH,Ib"}, {"mov","DH,Ib"}, {"mov","BH,Ib"}, /* B */ {"mov","eAX,Iv"}, {"mov","eCX,Iv"}, {"mov","eDX,Iv"}, {"mov","eBX,Iv"}, {"mov","eSP,Iv"}, {"mov","eBP,Iv"}, {"mov","eSI,Iv"}, {"mov","eDI,Iv"}, /* B */
},
{
/* C */ {"__G2","Eb,Ib"}, {"__G2","Ev,Ib"}, {"ret","Iw"}, {"ret",N}, {"les","Gv,Mp"}, {"lds","Gv,Mp"}, {"mov","Eb,Ib"}, {"mov","Ev,Iv"}, /* C */ {"enter","Iw,Ib"}, {"leave",N}, {"retf","Iw"}, {"retf",N}, {"int","3"}, {"int","Ib"}, {"into",N}, {"iret",N}, /* C */
},
{
/* D */ {"__G2","Eb,1"}, {"__G2","Ev,1"}, {"__G2","Eb,CL"}, {"__G2","Ev,CL"}, {N,N}, {N,N}, {N,N}, {"xlat",N}, /* D */ {"ESC",N}, {"ESC",N}, {"ESC",N}, {"ESC",N}, {"ESC",N}, {"ESC",N}, {"ESC",N}, {"ESC",N}, /* D */
},
{
/* E */ {"loopne","Jb"}, {"loope","Jb"}, {"loop","Jb"}, {"jcxz/jecxz","Jb"}, {"in","AL,Ib"}, {"in","eAX,Ib"}, {"out","Ib,AL"}, {"out","Ib,eAX"}, /* E */ {"call","Jv"}, {"jmp","Jv"}, {"jmp","Ap"}, {"jmp","Jb"}, {"in","AL,DX"}, {"in","eAX,DX"}, {"out","DX,AL"}, {"out","DX,eAX"}, /* E */
},
{
/* F */ {"PREFIX",N}, {N,N}, {"PREFIX",N}, {"PREFIX",N}, {"hlt",N}, {"cmc",N}, {"__G3","Eb"}, {"__G3","Ev"}, /* F */ {"clc",N}, {"stc",N}, {"cli",N}, {"sti",N}, {"cld",N}, {"std",N}, {"__G4",N}, {"__G5",N}, /* F */
}
};
InstructionTemplate _2ByteOpcode[0x10][0x10][0x5] =
{
/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */
{
/* 0 */ {{"__G6",N},{N,N},{N,N},{N,N},{N,N}}, {{"__G7",N},{N,N},{N,N},{N,N},{N,N}}, {{"lar","Gv,Ew"},{N,N},{N,N},{N,N},{N,N}}, {{"lsl","Gv,Ew"},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, {{"clts",N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, /* 0 */ {{"invd",N},{N,N},{N,N},{N,N},{N,N}}, {{"wbinvd",N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, {{"ud2",N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}} /* 0 */
},
{
/* 1 */ {{"movups","Vps,Wps"},{"movss(0xF3)","Vss,Wss"},{"movupd(0x66)","Vpd,Wpd"},{"movsd(0xF2)","Vsd,Wsd"},{N,N}}, {{"movups","Wps,Vps"},{"movss(0xF3)","Wss,Vss"},{"movupd(0x66)","Wpd,Vpd"},{"movsd(0xF2)","Wsd,Vsd"},{N,N}}, {{"movlps[M]","Vq,Mq"},{"movlpd(0x66)","Vq,Mq"},{"movhlps[R]","Vps,Vps"},{"movddup(0xF2)","Vq,Wq"},{"movsldup(0xF3)","Vps,Wps"}}, {{"movlps","Mq,Vq"},{"movlpd(0x66)","Mq,Vq"},{N,N},{N,N},{N,N}}, {{"unpcklps","Vps,Wps"},{"unpcklpd(0x66)","Vpd,Wpd"},{N,N},{N,N},{N,N}}, {{"unpckhps","Vps,Wps"},{"unpckhpd(0x66)","Vpd,Wpd"},{N,N},{N,N},{N,N}}, {{"movhps[M]","Vq,Mq"},{"movhpd(0x66)","Vq,Mq"},{"movlhps[R]","Vps,Vps"},{"movshdup(0xF3)","Vps,Wps"},{N,N}}, {{"movhps","Mq,Vps"},{"movhpd(0x66)","Mq,Vpd"},{N,N},{N,N},{N,N}}, /* 1 */ {{"__G16",N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}} /* 1 */
},
{
/* 2 */ {{"mov","Rd,Cd"},{N,N},{N,N},{N,N},{N,N}}, {{"mov","Rd,Dd"},{N,N},{N,N},{N,N},{N,N}}, {{"mov","Cd,Rd"},{N,N},{N,N},{N,N},{N,N}}, {{"mov","Dd,Rd"},{N,N},{N,N},{N,N},{N,N}}, {{"mov","Rd,Td"},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, {{"mov","Td,Rd"},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, /* 2 */ {{"movaps","Vps,Wps"},{"movapd(0x66)","Vpd,Wpd"},{N,N},{N,N},{N,N}}, {{"movaps","Wps,Vps"},{"movapd(0x66)","Wpd,Vpd"},{N,N},{N,N},{N,N}}, {{"cvtpi2ps","Vps,Qq"},{"cvtsi2ss(0xF3)","Vss,Ed"},{"cvtpi2pd(0x66)","Vpd,Qq"},{"cvtsi2sd(0xF2)","Vsd,Ed"},{N,N}}, {{"movntps","Mps,Vps"},{"movntpd(0x66)","Mpd,Vpd"},{N,N},{N,N},{N,N}}, {{"cvttps2pi","Pq,Wq"},{"cvttss2si(0xF3)","Gd,Wss"},{"cvttpd2pi(0x66)","Pq,Wpd"},{"cvttsd2si(0xF2)","Gd,Wsd"},{N,N}}, {{"cvtps2pi","Pq,Wq"},{"cvtss2si(0xF3)","Gd,Wss"},{"cvtpd2pi(0x66)","Pq,Wpd"},{"cvtsd2si(0xF2)","Gd,Wsd"},{N,N}}, {{"ucomiss","Vss,Wss"},{"ucomisd(0x66)","Vsd,Wsd"},{N,N},{N,N},{N,N}}, {{"comiss","Vps,Wps"},{"comisd(0x66)","Vsd,Wsd"},{N,N},{N,N},{N,N}} /* 2 */
},
{
/* 3 */ {{"wrmsr",N},{N,N},{N,N},{N,N},{N,N}}, {{"rdtsc",N},{N,N},{N,N},{N,N},{N,N}}, {{"rdmsr",N},{N,N},{N,N},{N,N},{N,N}}, {{"rdpmc",N},{N,N},{N,N},{N,N},{N,N}}, {{"sysenter",N},{N,N},{N,N},{N,N},{N,N}}, {{"sysexit",N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, /* 3 */ {{N,N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, /* 3 */
},
{
/* 4 */ {{"cmovo","Gv,Ev"},{N,N},{N,N},{N,N},{N,N}}, {{"cmovno","Gv,Ev"},{N,N},{N,N},{N,N},{N,N}}, {{"cmovb","Gv,Ev"},{N,N},{N,N},{N,N},{N,N}}, {{"cmovnb","Gv,Ev"},{N,N},{N,N},{N,N},{N,N}}, {{"cmove","Gv,Ev"},{N,N},{N,N},{N,N},{N,N}}, {{"cmovne","Gv,Ev"},{N,N},{N,N},{N,N},{N,N}}, {{"cmovna","Gv,Ev"},{N,N},{N,N},{N,N},{N,N}}, {{"cmova","Gv,Ev"},{N,N},{N,N},{N,N},{N,N}}, /* 4 */ {{"cmovs","Gv,Ev"},{N,N},{N,N},{N,N},{N,N}}, {{"cmovns","Gv,Ev"},{N,N},{N,N},{N,N},{N,N}}, {{"cmovp","Gv,Ev"},{N,N},{N,N},{N,N},{N,N}}, {{"cmovnp","Gv,Ev"},{N,N},{N,N},{N,N},{N,N}}, {{"cmovl","Gv,Ev"},{N,N},{N,N},{N,N},{N,N}}, {{"cmovnl","Gv,Ev"},{N,N},{N,N},{N,N},{N,N}}, {{"cmovle","Gv,Ev"},{N,N},{N,N},{N,N},{N,N}}, {{"cmovnle","Gv,Ev"},{N,N},{N,N},{N,N},{N,N}} /* 4 */
},
{
/* 5 */ {{"movmskps","Gd,Vps"},{"movmskpd(0x66)","Gd,Vpd"},{N,N},{N,N},{N,N}}, {{"sqrtps","Vps,Wps"},{"sqrtss(0xF3)","Vss,Wss"},{"sqrtpd(0x66)","Vpd,Wpd"},{"sqrtsd(0xF2)","Vsd,Wsd"},{N,N}}, {{"rsqrtps","Vps,Wps"},{"rsqrtss(0xF3)","Vss,Wss"},{N,N},{N,N},{N,N}}, {{"rcpps","Vps,Wps"},{"rcpss(0xF3)","Vss,Wss"},{N,N},{N,N},{N,N}}, {{"andps","Vps,Wps"},{"andpd(0x66)","Vpd,Wpd"},{N,N},{N,N},{N,N}}, {{"andnps","Vps,Wps"},{"andnpd(0x66)","Vpd,Wpd"},{N,N},{N,N},{N,N}}, {{"orps","Vps,Wps"},{"orpd(0x66)","Vpd,Wpd"},{N,N},{N,N},{N,N}}, {{"xorps","Vps,Wps"},{"xorpd(0x66)","Vpd,Wpd"},{N,N},{N,N},{N,N}}, /* 5 */ {{"addps","Vps,Wps"},{"addss(0xF3)","Vss,Wss"},{"addpd(0x66)","Vpd,Wpd"},{"addsd(0xF2)","Vsd,Wsd"},{N,N}}, {{"mulps","Vps,Wps"},{"mulss(0xF3)","Vss,Wss"},{"mulpd(0x66)","Vpd,Wpd"},{"mulsd(0xF2)","Vsd,Wsd"},{N,N}}, {{"cvtps2pd","Vpd,Wq"},{"cvtss2sd(0xF3)","Vsd,Wss"},{"cvtpd2ps(0x66)","Vps,Wpd"},{"cvtsd2ss(0xF2)","Vss,Wsd"},{N,N}}, {{"cvtdq2ps","Vps,Wdq"},{"cvtps2dq(0x66)","Vdq,Wps"},{"cvttps2dq(0xF3)","Vdq,Wps"},{N,N},{N,N}}, {{"subps","Vps,Wps"},{"subss(0xF3)","Vss,Wss"},{"subpd(0x66)","Vpd,Wpd"},{"subsd(0xF2)","Vsd,Wsd"},{N,N}}, {{"minps","Vps,Wps"},{"minss(0xF3)","Vss,Wss"},{"minpd(0x66)","Vpd,Wpd"},{"minsd(0xF2)","Vsd,Wsd"},{N,N}}, {{"divps","Vps,Wps"},{"divss(0xF3)","Vss,Wss"},{"divpd(0x66)","Vpd,Wpd"},{"divsd(0xF2)","Vsd,Wsd"},{N,N}}, {{"maxps","Vps,Wps"},{"maxss(0xF3)","Vss,Wss"},{"maxpd(0x66)","Vpd,Wpd"},{"maxsd(0xF2)","Vsd,Wsd"},{N,N}} /* 5 */
},
{
/* 6 */ {{"punpcklbw","Pq,Qd"},{"punpcklbw(0x66)","Vdq,Wdq"},{N,N},{N,N},{N,N}}, {{"punpcklwd","Pq,Qd"},{"punpcklwd(0x66)","Vdq,Wdq"},{N,N},{N,N},{N,N}}, {{"punpckldq","Pq,Qd"},{"punpckldq(0x66)","Vdq,Wdq"},{N,N},{N,N},{N,N}}, {{"punpcklbw","Pq,Qq"},{"packsswb(0x66)","Vdq,Wdq"},{N,N},{N,N},{N,N}}, {{"pcmpgtb","Pq,Qq"},{"pcmpgtb(0x66)","Vdq,Wdq"},{N,N},{N,N},{N,N}}, {{"pcmpgtw","Pq,Qq"},{"pcmpgtw(0x66)","Vdq,Wdq"},{N,N},{N,N},{N,N}}, {{"pcmpgtd","Pq,Qq"},{"pcmpgtd(0x66)","Vdq,Wdq"},{N,N},{N,N},{N,N}}, {{"packuswb","Pq,Qq"},{"packuswb(0x66)","Vdq,Wdq"},{N,N},{N,N},{N,N}}, /* 6 */ {{"punpckhbw","Pq,Qq"},{"punpckhbw(0x66)","Vdq,Qdq"},{N,N},{N,N},{N,N}}, {{"punpckhwd","Pq,Qq"},{"punpckhwd(0x66)","Vdq,Qdq"},{N,N},{N,N},{N,N}}, {{"punpckhdq","Pq,Qq"},{"punpckhdq(0x66)","Vdq,Qdq"},{N,N},{N,N},{N,N}}, {{"packssdw","Pq,Qq"},{"packssdw(0x66)","Vdq,Qdq"},{N,N},{N,N},{N,N}}, {{"punpcklqdq(0x66)","Vdq,Wdq"},{N,N},{N,N},{N,N},{N,N}}, {{"punpckhqdq(0x66)","Vdq,Wdq"},{N,N},{N,N},{N,N},{N,N}}, {{"movd","Pd,Ed"},{"movd(0x66)","Vd,Ed"},{N,N},{N,N},{N,N}}, {{"movq","Pq,Qq"},{"movdqa(0x66)","Vdq,Wdq"},{"movdqu(0xF3)","Vdq,Wdq"},{N,N},{N,N}} /* 6 */
},
{
/* 7 */ {{"pshufw","Pq,Qq,Ib"},{"pshufd(0x66)","Vdq,Wdq,Ib"},{"pshufhw(0xF3)","Vdq,Wdq,Ib"},{"pshuflw(0xF2)","Vdq,Wdq,Ib"},{N,N}}, {{"__G12",N},{N,N},{N,N},{N,N},{N,N}}, {{"__G13",N},{N,N},{N,N},{N,N},{N,N}}, {{"__G14",N},{N,N},{N,N},{N,N},{N,N}}, {{"pcmpeqb","Pq,Qq"},{"pcmpeqb(0x66)","Vdq,Wdq"},{N,N},{N,N},{N,N}}, {{"pcmpeqw","Pq,Qq"},{"pcmpeqw(0x66)","Vdq,Wdq"},{N,N},{N,N},{N,N}}, {{"pcmpeqd","Pq,Qq"},{"pcmpeqd(0x66)","Vdq,Wdq"},{N,N},{N,N},{N,N}}, {{"emms",N},{N,N},{N,N},{N,N},{N,N}}, /* 7 */ {{N,N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, {{N,N},{N,N},{N,N},{N,N},{N,N}}, {{"haddpd(0x66)","Vpd,Wpd"},{"haddps(0xF2)","Vps,Wps"},{N,N},{N,N},{N,N}}, {{"hsubpd(0x66)","Vpd,Wpd"},{"hsubps(0xF2)","Vps,Wps"},{N,N},{N,N},{N,N}}, {{"movd","Ed,Pd"},{"movd(0x66)","Ed,Vd"},{"movq(0xF3)","Vq,Wq"},{N,N},{N,N}}, {{"movq","Qq,Pq"},{"movdqa(0x66)","Wdq,Vdq"},{"movdqu(0xF3)","Wdq,Vdq"},{N,N},{N,N}} /* 7 */
},
{
/* 8 */ {{"jo","Jv"},{N,N},{N,N},{N,N},{N,N}}, {{"jno","Jv"},{N,N},{N,N},{N,N},{N,N}}, {{"jb","Jv"},{N,N},{N,N},{N,N},{N,N}}, {{"jcae","Jv"},{N,N},{N,N},{N,N},{N,N}}, {{"je","Jv"},{N,N},{N,N},{N,N},{N,N}}, {{"jne","Jv"},{N,N},{N,N},{N,N},{N,N}}, {{"jbe","Jv"},{N,N},{N,N},{N,N},{N,N}}, {{"ja","Jv"},{N,N},{N,N},{N,N},{N,N}}, /* 8 */ {{"js","Jv"},{N,N},{N,N},{N,N},{N,N}}, {{"jns","Jv"},{N,N},{N,N},{N,N},{N,N}}, {{"jp","Jv"},{N,N},{N,N},{N,N},{N,N}}, {{"jnp","Jv"},{N,N},{N,N},{N,N},{N,N}}, {{"jl","Jv"},{N,N},{N,N},{N,N},{N,N}}, {{"jnl","Jv"},{N,N},{N,N},{N,N},{N,N}}, {{"jle","Jv"},{N,N},{N,N},{N,N},{N,N}}, {{"jnle","Jv"},{N,N},{N,N},{N,N},{N,N}} /* 8 */
},
{
/* 9 */ {{"seto","Eb"},{N,N},{N,N},{N,N},{N,N}}, {{"setno","Eb"},{N,N},{N,N},{N,N},{N,N}}, {{"setb","Eb"},{N,N},{N,N},{N,N},{N,N}}, {{"setae","Eb"},{N,N},{N,N},{N,N},{N,N}}, {{"sete","Eb"},{N,N},{N,N},{N,N},{N,N}}, {{"setne","Eb"},{N,N},{N,N},{N,N},{N,N}}, {{"setbe","Eb"},{N,N},{N,N},{N,N},{N,N}}, {{"seta","Eb"},{N,N},{N,N},{N,N},{N,N}}, /* 9 */ {{"sets","Eb"},{N,N},{N,N},{N,N},{N,N}}, {{"setns","Eb"},{N,N},{N,N},{N,N},{N,N}}, {{"setp","Eb"},{N,N},{N,N},{N,N},{N,N}}, {{"setnp","Eb"},{N,N},{N,N},{N,N},{N,N}}, {{"setl","Eb"},{N,N},{N,N},{N,N},{N,N}}, {{"setnl","Eb"},{N,N},{N,N},{N,N},{N,N}}, {{"setle","Eb"},{N,N},{N,N},{N,N},{N,N}}, {{"setnle","Eb"},{N,N},{N,N},{N,N},{N,N}} /* 9 */
},
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -