summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2001-07-18 13:33:12 +0000
committerAlan Modra <amodra@bigpond.net.au>2001-07-18 13:33:12 +0000
commitef2292714154771b694a67a085f95620008fd217 (patch)
tree89fdf1fae4dacf88ac1e2f3f204d893f38ca9a39
parentc573ca2924fa4d07e2edcb663d640de5fdf84b78 (diff)
downloadbinutils-redhat-ef2292714154771b694a67a085f95620008fd217.tar.gz
* i386-dis.c (grps): Print l or w suffix, and require mem modrm
for lgdt, lidt, sgdt, sidt.
-rw-r--r--opcodes/ChangeLog5
-rw-r--r--opcodes/i386-dis.c18
2 files changed, 14 insertions, 9 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 8c81cf88ce..bee3b55e5c 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,8 @@
+2001-07-18 Alan Modra <amodra@bigpond.net.au>
+
+ * i386-dis.c (grps): Print l or w suffix, and require mem modrm
+ for lgdt, lidt, sgdt, sidt.
+
2001-07-13 Philip Blundell <philb@gnu.org>
* arm-dis.c (print_insn_arm): Use decimal for offsets in LDR/STR.
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index d5eacd29e5..44166064ed 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -197,7 +197,7 @@ fetch_data (info, addr)
#define indirEv OP_indirE, v_mode
#define Ew OP_E, w_mode
#define Ma OP_E, v_mode
-#define M OP_E, 0 /* lea */
+#define M OP_E, 0 /* lea, lgdt, etc. */
#define Mp OP_E, 0 /* 32 or 48 bit memory operand for LDS, LES etc */
#define Gb OP_G, b_mode
#define Gv OP_G, v_mode
@@ -1315,14 +1315,14 @@ static const struct dis386 grps[][8] = {
},
/* GRP7 */
{
- { "sgdt", Ew, XX, XX },
- { "sidt", Ew, XX, XX },
- { "lgdt", Ew, XX, XX },
- { "lidt", Ew, XX, XX },
- { "smsw", Ew, XX, XX },
- { "(bad)", XX, XX, XX },
- { "lmsw", Ew, XX, XX },
- { "invlpg", Ew, XX, XX },
+ { "sgdtQ", M, XX, XX },
+ { "sidtQ", M, XX, XX },
+ { "lgdtQ", M, XX, XX },
+ { "lidtQ", M, XX, XX },
+ { "smsw", Ew, XX, XX },
+ { "(bad)", XX, XX, XX },
+ { "lmsw", Ew, XX, XX },
+ { "invlpg", Ew, XX, XX },
},
/* GRP8 */
{