This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC 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: Change i386 assembler/disassembler for SIB with INDEX==4


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.


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