This is the mail archive of the binutils@sourceware.org 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]
Other format: [Raw text]

Re: PATCH: Fix i8086 disassembler for 16bit displacements


On Mon, Feb 05, 2007 at 09:21:52AM +0000, Jan Beulich wrote:
> >>> "H. J. Lu" <hjl@lucon.org> 03.02.07 01:37 >>>
> >OP_J masked displacement to 16bit for all 16bit displacements. It
> >should do it only when there is a data16 prefix. I am checking in this
> >patch to fix it.
> 
> The other way around - a data size prefix in 16-bit mode makes it a
> 32-bit jump (and the jump remains confined to a 16-bit target without
> a prefix), so I think the changes, clearly the test case adjustments,
> are wrong.

Jump is PC relative. You can't get 32bit distance with get16. As
for a data size prefix in 16-bit mode, we shouldn't call get16. If
we do, it is a bug. Please open a bug report with a testcase.


H.J.


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