i386 "andl $65535,%eax" problem

Etienne Lorrain etienne_lorrain@yahoo.fr
Mon Apr 3 02:45:00 GMT 2000


  Hello,

  In between binutils-2.9.5.21 and 2.9.5.29 (from varesearch),
 the hexadecimal for instruction "andl $65535,%eax" has changed.

  GCC-2.95.2 generates sometimes this instruction, even if it
 is not optimal (a movzwl would be better) - but it also generates
 things like "andl $0xFFFFFFFF,%eax" and ignores flags after...

  My problem - I am working with ".code16gcc" but I am not sure
 that matter - is that this hexadecimal code is _not_ working
 on the i386DX33, P120 and PII-400 I have.

 The old hexadecimal was: 66 25 FF FF 00 00  (working)
 The new one is:          66 83 E0 FF     (shorter, but not working)

  Even if, with my favorite debugger TD 3.1, this hexadecimal is
 displayed "and eax,FFFF", when I single step the upper part of
 eax is _not_ cleared.

  Do someone has an explanation of what is happenning - or is this
 already corrected in the 2.9.5.32 I just downloaded ?

  Thanks,
  Have a nice day,
  Etienne.

___________________________________________________________
Do You Yahoo!?
Achetez, vendez! À votre prix! Sur http://encheres.yahoo.fr


More information about the Binutils mailing list