summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl@lucon.org>2007-08-31 20:55:13 +0000
committerH.J. Lu <hjl@lucon.org>2007-08-31 20:55:13 +0000
commit56c85f9dd24c547b90f525180149e4382f0d03c6 (patch)
tree163b6d1fec0f490b3f9f593c5bddf5d6bb3c08f4
parent5b8f6d8e22433f6d4ea0c67b22c72cca919fb25f (diff)
downloadbinutils-redhat-56c85f9dd24c547b90f525180149e4382f0d03c6.tar.gz
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 2bb6388be4..b43407663f 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 ac6d8c5681..2af341f160 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] = {