danw@jacobs.cs.orst.edu (Dan Whitaker) (08/04/90)
I have seen several questions lately about how a software program can tell the differance between a 386DX (32bit) and a 386SX (16bit). The answer lies in the DX register after a CPU restart. After a restart the DH word of the DX register contains a 03H if the processor is a 386DX. After a restary the DH word is a 23H if the processor is a 386SX. For your information the DL word of the DX register contains the step level (version of) the processor. Example: DH = 23h DL = 08H is a 386SX, C-Step (the first 386sx with no known bugs) As far as software is concerned, someone would really have to go out of their way to make software that runs on a 386DX that does not run on a 386SX. I don't know of any. I am sure that there is no commercial software that would run on one and not the other. As far as 387DX compared to a 387SX I don't know how to tell them apart (except by assumption). You can obviously tell the 387 from the 287 because the 387 has instructions that the 287 doesn't have. From a practical point of view, all commercial software is written with 287 math instructions. Even the 386 specific software uses 287 math instructions. (remember a lot of 386DX motherboards accept a 287 math co-processor). We are currently working on trying to connect a 386SX to a 287. I haven't seen it done yet, if you have please let me know. I hope that clears up some questions. Dan Whitaker Evergreen Technologies Inc 503-757-0934