[comp.binaries.ibm.pc.d] 387 bugg.. WIN 3 problems

otto@tukki.jyu.fi (Otto J. Makela) (01/08/91)

In article <6897@suned1.Nswses.Navy.MIL> lev@suned1.Nswses.Navy.MIL (Lloyd E Vancil) writes:
[...] Apparently there is a timing error associated with a POPAD command in
   some?  387 chips.    I was reading in comp.binares.ibm.pc and someone has
   come up with a program that checks for this problem.  It seems that MOST
   of the machines tested failed.  Since this command is used to push/pop all
   32 bit registers, it occurs to some this could be the problem with Windows
   in certain 386 machines.

This is incorrect.  The bug (which was found by Jeff Prothero) comes up when
the following instructions are executed on the 386 (from John Lauro's test
program which was recently posted on comp.binaries.ibm.pc):

        mov       eax,12345678
        mov       edx, 0
        mov       edi, 0
        pushad
        popad
        mov       ecx, [edx+edi]

If now eax ISN'T 12345678 any more, your 386DX or 386SX is faulty.  I'd be
interested in knowing which chip revisions do this and which don't.  I've
seen reports of both types for both chip types, for example I have a new
386SX machine at work which does NOT have this problem.

   Could a similar problem be the reason for occasional "Unrecoverable..."
   errors in 286 machines?

No.  The chip is different, with it's own bugs.
For example, 286 doesn't have 32 bit registers, nor pushad/popad instructions !

   I guess one question we could ask is;
	   How many out there with unexplainable windows problems are running
	   387 equipped 386 machines?

This problem doesn't have anything to do with 387s per se.
(followups directed to comp.sys.ibm.pc.hardware)
--
   /* * * Otto J. Makela <otto@jyu.fi> * * * * * * * * * * * * * * * * * * */
  /* Phone: +358 41 613 847, BBS: +358 41 211 562 (CCITT, Bell 24/12/300) */
 /* Mail: Kauppakatu 1 B 18, SF-40100 Jyvaskyla, Finland, EUROPE         */
/* * * Computers Rule 01001111 01001011 * * * * * * * * * * * * * * * * */