PATCH: Fix i8086 disassembler for 16bit displacements
H. J. Lu
hjl@lucon.org
Sat Feb 3 06:29:00 GMT 2007
On Sat, Feb 03, 2007 at 01:51:44AM +0100, Andreas Schwab wrote:
> "H. J. Lu" <hjl@lucon.org> writes:
>
> > --- binutils/opcodes/i386-dis.c.disp 2007-02-02 13:50:51.000000000 -0800
> > +++ binutils/opcodes/i386-dis.c 2007-02-02 14:34:00.000000000 -0800
> > @@ -4916,10 +4916,13 @@ OP_J (int bytemode, int sizeflag)
> > else
> > {
> > disp = get16 ();
> > + if ((disp & 0x8000) != 0)
> > + disp -= 0x10000;
> > /* For some reason, a data16 prefix on a jump instruction
> > means that the pc is masked to 16 bits after the
> > displacement is added! */
> > - mask = 0xffff;
> > + if ((prefixes & PREFIX_DATA))
>
> Please write it like this:
>
> if ((prefixes & PREFIX_DATA) != 0)
>
Done.
H.J.
More information about the Binutils
mailing list