This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Change i386 assembler/disassembler for SIB with INDEX==4
- From: "H. J. Lu" <hjl at lucon dot org>
- To: "Allan B. Cruse" <cruse at cs dot usfca dot edu>
- Cc: binutils at sources dot redhat dot com, gcc at gcc dot gnu dot org,libc-alpha at sources dot redhat dot com, linux-kernel at vger dot kernel dot org
- Date: Thu, 13 Jan 2005 14:46:01 -0800
- Subject: Re: Change i386 assembler/disassembler for SIB with INDEX==4
- References: <20050113203328.1174721A3F@nexus.cs.usfca.edu>
On Thu, Jan 13, 2005 at 12:33:28PM -0800, Allan B. Cruse wrote:
>
> On Thu, 13 Jan 2005, "H. J. Lu" <hjl@lucon.org> wrote:
> >
> >
> >
> > Subject: Change i386 assembler/disassembler for SIB with INDEX==4
> >
> > I am proposing to change i386 assembler/disassembler for SIB with
> > INDEX==4
> >
> > http://sources.redhat.com/bugzilla/show_bug.cgi?id=658
> >
> > It will change the assembler output for (%ebx,[1248]). I am not too
> > worried about the disassembler output since assembler can't generate
> > SIB with INDEX==4 directly today. Any comments?
> >
> >
> > H.J.
> >
>
>
> This change would give programmers the freedom to write instruction-
> syntax that the processor cannot actually execute, is that right?
No. Assemberl will turn "mov (%ebx,2),%eax" into "8b 04 63", which
is valid i386 machine code.
>
> Perhaps the downside to this would lie in the hours of debugging and
> private research each programmer would then be faced with, trying to
> figure out why " movl (%esi,2),%eax " wasn't doing what he/she had
> intended, and which the assembler had dutifully accepted. --ABC
>
What do you expect "movl (%esi,2),%eax" will do?
H.J.