summaryrefslogtreecommitdiff
path: root/src/arch/x86/instruction.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2009-10-04 21:31:35 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2009-10-04 21:31:35 (GMT)
commit34612ad3304e9064f38c3adce728f2a71352c981 (patch)
tree4fde28976b0c6d8700f9242b549192fe622e30cb /src/arch/x86/instruction.h
parent5d33469143778e8ab22b362b7a647f53cd6fc840 (diff)
Supported extra x86 opcodes. Fixed a bug with two-byte opcodes.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@126 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/arch/x86/instruction.h')
-rw-r--r--src/arch/x86/instruction.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/arch/x86/instruction.h b/src/arch/x86/instruction.h
index c190136..ad50834 100644
--- a/src/arch/x86/instruction.h
+++ b/src/arch/x86/instruction.h
@@ -42,11 +42,23 @@ typedef enum _X86Opcodes
XOP_ADD_AL_IMM8, /* add (0x04) */
XOP_ADD_E_AX_IMM1632, /* sub ([0x66] 0x05) */
+ XOP_OR_RM8_R8, /* or (0x08) */
+ XOP_OR_RM1632_R1632, /* or ([0x66] 0x09) */
XOP_OR_R8_RM8, /* or (0x0a) */
+ XOP_OR_R1632_RM1632, /* or ([0x66] 0x0b) */
XOP_OR_AL_IMM8, /* or (0x0c) */
+ XOP_JE_REL1632, /* je ([0x66] 0x0f 0x84) */
+ XOP_JNE_REL1632, /* jne ([0x66] 0x0f 0x85) */
+
+ XOP_JA_REL1632, /* jne ([0x66] 0x0f 0x87) */
+
+ XOP_JGE_REL1632, /* jge ([0x66] 0x0f 0x8d) */
XOP_JLE_REL1632, /* jle ([0x66] 0x0f 0x8e) */
+ XOP_SETE_RM8, /* sete ([0x66] 0x0f 0x94) */
+ XOP_SETNE_RM8, /* setne ([0x66] 0x0f 0x95) */
+
XOP_MOVZX_R1632_RM8, /* movzx ([0x66] 0x0f 0xb6) */
XOP_MOVSX_R1632_RM8, /* movsx ([0x66] 0x0f 0xbe) */
@@ -240,6 +252,10 @@ typedef enum _X86Opcodes
XOP_HLT, /* hlt (0xf4) */
+ XOP_TEST_RM8_IMM8, /* test (0xf6 0) */
+ XOP_TEST_RM8_IMM8_BIS, /* test (0xf6 1) */
+ XOP_NOT_RM8, /* not (0xf6 2) */
+
XOP_TEST_RM1632_IMM1632, /* test ([0x66] 0xf7 0) */
XOP_TEST_RM1632_IMM1632_BIS, /* test ([0x66] 0xf7 1) */
XOP_NOT_RM1632, /* not ([0x66] 0xf7 2) */