Added the "xchg" instruction
This commit is contained in:
parent
5de28736a7
commit
299bfc910a
@ -418,6 +418,46 @@
|
|||||||
{ "fnclex", 0xdbe2, OP2F, AOT_NONE, AOT_NONE, AOT_NONE },
|
{ "fnclex", 0xdbe2, OP2F, AOT_NONE, AOT_NONE, AOT_NONE },
|
||||||
/* NOP 0x90 1 */
|
/* NOP 0x90 1 */
|
||||||
{ "nop", 0x90, OP1F, AOT_NONE, AOT_NONE, AOT_NONE },
|
{ "nop", 0x90, OP1F, AOT_NONE, AOT_NONE, AOT_NONE },
|
||||||
|
/* XCHG 0x90 +rW 1 AX rW */
|
||||||
|
{ "xchg", 0x90, OP1F, OP_AX, OP_AX, AOT_NONE },
|
||||||
|
{ "xchg", 0x91, OP1F, OP_AX, OP_CX, AOT_NONE },
|
||||||
|
{ "xchg", 0x92, OP1F, OP_AX, OP_DX, AOT_NONE },
|
||||||
|
{ "xchg", 0x93, OP1F, OP_AX, OP_BX, AOT_NONE },
|
||||||
|
{ "xchg", 0x94, OP1F, OP_AX, OP_SP, AOT_NONE },
|
||||||
|
{ "xchg", 0x95, OP1F, OP_AX, OP_BP, AOT_NONE },
|
||||||
|
{ "xchg", 0x96, OP1F, OP_AX, OP_SI, AOT_NONE },
|
||||||
|
{ "xchg", 0x97, OP1F, OP_AX, OP_DI, AOT_NONE },
|
||||||
|
{ "xchg", 0x91, OP1F, OP_CX, OP_AX, AOT_NONE },
|
||||||
|
{ "xchg", 0x92, OP1F, OP_DX, OP_AX, AOT_NONE },
|
||||||
|
{ "xchg", 0x93, OP1F, OP_BX, OP_AX, AOT_NONE },
|
||||||
|
{ "xchg", 0x94, OP1F, OP_SP, OP_AX, AOT_NONE },
|
||||||
|
{ "xchg", 0x95, OP1F, OP_BP, OP_AX, AOT_NONE },
|
||||||
|
{ "xchg", 0x96, OP1F, OP_SI, OP_AX, AOT_NONE },
|
||||||
|
{ "xchg", 0x97, OP1F, OP_DI, OP_AX, AOT_NONE },
|
||||||
|
/* XCHG 0x86 /r 1 r/m8 r8 */
|
||||||
|
{ "xchg", 0x86, OP1F, OP_RM8_D0_R,OP_R8, AOT_NONE },
|
||||||
|
{ "xchg", 0x86, OP1F, OP_RM8_D8_R,OP_R8, AOT_NONE },
|
||||||
|
{ "xchg", 0x86, OP1F, OP_RM8_DW_R,OP_R8, AOT_NONE },
|
||||||
|
{ "xchg", 0x86, OP1F, OP_RM8_R8_R,OP_R8, AOT_NONE },
|
||||||
|
/* XCHG 0x86 /r 1 r8 r/m8 */
|
||||||
|
#if 1 /* FIXME doesn't work at the moment */
|
||||||
|
{ "xchg", 0x86, OP1F, OP_RM8_R8_R,OP_RM8_D0_R,AOT_NONE },
|
||||||
|
{ "xchg", 0x86, OP1F, OP_RM8_R8_R,OP_RM8_D8_R,AOT_NONE },
|
||||||
|
{ "xchg", 0x86, OP1F, OP_RM8_R8_R,OP_RM8_DW_R,AOT_NONE },
|
||||||
|
{ "xchg", 0x86, OP1F, OP_RM8_R8_R,OP_RM8_R8_R,AOT_NONE },
|
||||||
|
#endif
|
||||||
|
/* XCHG 0x87 /r 1 r/mW rW */
|
||||||
|
{ "xchg", 0x87, OP1F, OP_RMW_D0_R,OP_RW, AOT_NONE },
|
||||||
|
{ "xchg", 0x87, OP1F, OP_RMW_D8_R,OP_RW, AOT_NONE },
|
||||||
|
{ "xchg", 0x87, OP1F, OP_RMW_DW_R,OP_RW, AOT_NONE },
|
||||||
|
{ "xchg", 0x87, OP1F, OP_RMW_RW_R,OP_RW, AOT_NONE },
|
||||||
|
/* XCHG 0x87 /r 1 rW r/mW */
|
||||||
|
#if 1 /* FIXME doesn't work at the moment */
|
||||||
|
{ "xchg", 0x87, OP1F, OP_RMW_RW_R,OP_RMW_D0_R,AOT_NONE },
|
||||||
|
{ "xchg", 0x87, OP1F, OP_RMW_RW_R,OP_RMW_D8_R,AOT_NONE },
|
||||||
|
{ "xchg", 0x87, OP1F, OP_RMW_RW_R,OP_RMW_DW_R,AOT_NONE },
|
||||||
|
{ "xchg", 0x87, OP1F, OP_RMW_RW_R,OP_RMW_RW_R,AOT_NONE },
|
||||||
|
#endif
|
||||||
/* XLAT 0xd7 1 */
|
/* XLAT 0xd7 1 */
|
||||||
{ "xlat", 0xd7, OP1F, AOT_NONE, AOT_NONE, AOT_NONE },
|
{ "xlat", 0xd7, OP1F, AOT_NONE, AOT_NONE, AOT_NONE },
|
||||||
/* XLATB 0xd7 1 */
|
/* XLATB 0xd7 1 */
|
||||||
|
@ -144,7 +144,12 @@
|
|||||||
fchs
|
fchs
|
||||||
fclex
|
fclex
|
||||||
fnclex
|
fnclex
|
||||||
nop /* 0x90 */
|
nop /* 90 */
|
||||||
|
/* XCHG */
|
||||||
|
xchg %eax, %ecx /* 91 */
|
||||||
|
xchg %ecx, %eax /* 91 */
|
||||||
|
xchg [%eax], %ebx /* 87 18 */
|
||||||
|
xchg %eax, [%ebx]
|
||||||
xlatb
|
xlatb
|
||||||
/* XOR */
|
/* XOR */
|
||||||
xor [%ecx], %dh /* 30 31 */
|
xor [%ecx], %dh /* 30 31 */
|
||||||
|
Loading…
Reference in New Issue
Block a user