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: i386 disassembler: Check PREFIX_REPNZ before PREFIX_DATA for prefix table


On Fri, 10 Nov 2006, H. J. Lu wrote:

On Fri, Nov 10, 2006 at 11:56:51PM +0300, malc wrote:
On Thu, 9 Nov 2006, H. J. Lu wrote:

When prefix user table is used, we check PREFIX_REPZ, PREFIX_DATA
and PREFIX_REPNZ, in that order. This patch changes it to
PREFIX_REPZ, PREFIX_REPNZ and PREFIX_DATA. There is no regression.

This might sound naive, but - why?

PREFIX_REPZ and PREFIX_REPNZ are the same class prefixes. It doesn't make senses to check one before PREFIX_DATA and one after.

Oh, i have never seen reference to prefix "classes" in Intels nor AMDs ISA documentation (perhaps i haven't paid enough attention though) maybe these classes are binutils diasasm thing? In any case i was wondering this for a while: suppose i have an interpreter (or disassembler for that matter) and see following sequence of bytes:

0x0f 0x11 0xf3 0x66 ...

What will it be? `movss', `movupd' #UD? Does the first prefix takes
precedence or is there some sort of built in precedence rules (i.e.
not all prefixes are equal)?

--
vale


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