This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: objdump BUG: wrong DISASM


On Mon, Sep 03, 2001 at 06:33:11PM +0200, Frank Klemm wrote:
> 
> For the 64 bit mnemonics the follwoing syntax should be used:
> 
> 	imul	reg
> 	mul	reg

Agreed.

opcodes/ChangeLog
	* i386-dis.c (grps): Don't print the implicit al/ax/eax register
	for opcode 0xf6 or 0xf7 forms of mul, imul, div, idiv insns.

Applying mainline and branch.

-- 
Alan Modra

Index: opcodes/i386-dis.c
===================================================================
RCS file: /cvs/src/src/opcodes/i386-dis.c,v
retrieving revision 1.30
diff -u -p -r1.30 i386-dis.c
--- i386-dis.c	2001/07/29 05:00:14	1.30
+++ i386-dis.c	2001/09/04 01:26:11
@@ -1297,10 +1297,10 @@ static const struct dis386 grps[][8] = {
     { "(bad)",	Eb, XX, XX },
     { "notA",	Eb, XX, XX },
     { "negA",	Eb, XX, XX },
-    { "mulB",	AL, Eb, XX },
-    { "imulB",	AL, Eb, XX },
-    { "divB",	AL, Eb, XX },
-    { "idivB",	AL, Eb, XX }
+    { "mulA",	Eb, XX, XX },	/* Don't print the implicit %al register,  */
+    { "imulA",	Eb, XX, XX },	/* to distinguish these opcodes from other */
+    { "divA",	Eb, XX, XX },	/* mul/imul opcodes.  Do the same for div  */
+    { "idivA",	Eb, XX, XX }	/* and idiv for consistency.		   */
   },
   /* GRP3S */
   {
@@ -1308,10 +1308,10 @@ static const struct dis386 grps[][8] = {
     { "(bad)",	XX, XX, XX },
     { "notQ",	Ev, XX, XX },
     { "negQ",	Ev, XX, XX },
-    { "mulS",	eAX, Ev, XX },
-    { "imulS",	eAX, Ev, XX },
-    { "divS",	eAX, Ev, XX },
-    { "idivS",	eAX, Ev, XX },
+    { "mulQ",	Ev, XX, XX },	/* Don't print the implicit register.  */
+    { "imulQ",	Ev, XX, XX },
+    { "divQ",	Ev, XX, XX },
+    { "idivQ",	Ev, XX, XX },
   },
   /* GRP4 */
   {


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]