aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2007-08-31 20:55:13 +0000
committerH.J. Lu <hjl.tools@gmail.com>2007-08-31 20:55:13 +0000
commit1afd85e30f37c78d93b07ac6d24f4c2d21370b82 (patch)
treeff27f7b35213663565215fead104d782f03c51f6
parent8969a67f0a5f5becee46b72a74f2b4d6b9cfd937 (diff)
downloadgdb-1afd85e30f37c78d93b07ac6d24f4c2d21370b82.zip
gdb-1afd85e30f37c78d93b07ac6d24f4c2d21370b82.tar.gz
gdb-1afd85e30f37c78d93b07ac6d24f4c2d21370b82.tar.bz2
2007-08-31 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (OPC_EXT_40...OPC_EXT_45): New. (dis386_twobyte): Use OPC_EXT_40...OPC_EXT_45. (opc_ext_table): Add OPC_EXT_40...OPC_EXT_45.
-rw-r--r--opcodes/ChangeLog6
-rw-r--r--opcodes/i386-dis.c48
2 files changed, 48 insertions, 6 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 2bb6388..b434076 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,5 +1,11 @@
2007-08-31 H.J. Lu <hongjiu.lu@intel.com>
+ * i386-dis.c (OPC_EXT_40...OPC_EXT_45): New.
+ (dis386_twobyte): Use OPC_EXT_40...OPC_EXT_45.
+ (opc_ext_table): Add OPC_EXT_40...OPC_EXT_45.
+
+2007-08-31 H.J. Lu <hongjiu.lu@intel.com>
+
* i386-dis.c (SVME_Fixup): Removed.
(OPC_EXT_39): New.
(OPC_EXT_RM_6): Likewise.
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index ac6d8c5..2af341f 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -596,6 +596,12 @@ fetch_data (struct disassemble_info *info, bfd_byte *addr)
#define OPC_EXT_37 NULL, { { NULL, USE_OPC_EXT_TABLE }, { NULL, 37 } }
#define OPC_EXT_38 NULL, { { NULL, USE_OPC_EXT_TABLE }, { NULL, 38 } }
#define OPC_EXT_39 NULL, { { NULL, USE_OPC_EXT_TABLE }, { NULL, 39 } }
+#define OPC_EXT_40 NULL, { { NULL, USE_OPC_EXT_TABLE }, { NULL, 40 } }
+#define OPC_EXT_41 NULL, { { NULL, USE_OPC_EXT_TABLE }, { NULL, 41 } }
+#define OPC_EXT_42 NULL, { { NULL, USE_OPC_EXT_TABLE }, { NULL, 42 } }
+#define OPC_EXT_43 NULL, { { NULL, USE_OPC_EXT_TABLE }, { NULL, 43 } }
+#define OPC_EXT_44 NULL, { { NULL, USE_OPC_EXT_TABLE }, { NULL, 44 } }
+#define OPC_EXT_45 NULL, { { NULL, USE_OPC_EXT_TABLE }, { NULL, 45 } }
#define OPC_EXT_RM_0 NULL, { { NULL, USE_OPC_EXT_RM_TABLE }, { NULL, 0 } }
#define OPC_EXT_RM_1 NULL, { { NULL, USE_OPC_EXT_RM_TABLE }, { NULL, 1 } }
@@ -986,13 +992,13 @@ static const struct dis386 dis386_twobyte[] = {
{ "(bad)", { XX } },
{ "nopQ", { Ev } },
/* 20 */
- { "movZ", { Rm, Cm } },
- { "movZ", { Rm, Dm } },
- { "movZ", { Cm, Rm } },
- { "movZ", { Dm, Rm } },
- { "movL", { Rd, Td } },
+ { OPC_EXT_40 },
+ { OPC_EXT_41 },
+ { OPC_EXT_42 },
+ { OPC_EXT_43 },
+ { OPC_EXT_44 },
{ "(bad)", { XX } },
- { "movL", { Td, Rd } },
+ { OPC_EXT_45 },
{ "(bad)", { XX } },
/* 28 */
{ "movapX", { XM, EXx } },
@@ -3264,6 +3270,36 @@ static const struct dis386 opc_ext_table[][2] = {
{ "lidt{Q|Q||}", { M } },
{ OPC_EXT_RM_6 },
},
+ {
+ /* OPC_EXT_40 */
+ { "(bad)", { XX } },
+ { "movZ", { Rm, Cm } },
+ },
+ {
+ /* OPC_EXT_41 */
+ { "(bad)", { XX } },
+ { "movZ", { Rm, Dm } },
+ },
+ {
+ /* OPC_EXT_42 */
+ { "(bad)", { XX } },
+ { "movZ", { Cm, Rm } },
+ },
+ {
+ /* OPC_EXT_43 */
+ { "(bad)", { XX } },
+ { "movZ", { Dm, Rm } },
+ },
+ {
+ /* OPC_EXT_44 */
+ { "(bad)", { XX } },
+ { "movL", { Rd, Td } },
+ },
+ {
+ /* OPC_EXT_45 */
+ { "(bad)", { XX } },
+ { "movL", { Td, Rd } },
+ },
};
static const struct dis386 opc_ext_rm_table[][8] = {