Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!zaphod.mps.ohio-state.edu!sdd.hp.com!ucsd!ucbvax!agate!darkstar!saturn.ucsc.edu!sidney From: sidney@saturn.ucsc.edu (Sidney Markowitz ) Newsgroups: comp.os.msdos.programmer Subject: Re: Detecting an 80486 Message-ID: <6077@darkstar.ucsc.edu> Date: 16 Aug 90 18:16:45 GMT References: <1990Aug14.025550.17669@esegue.segue.boston.ma.us> <3827@altos86.Altos.COM> Sender: usenet@darkstar.ucsc.edu Organization: University of California, Santa Cruz Lines: 19 In article <3827@altos86.Altos.COM> rcollins@altos86.UUCP (Robert Collins) writes: > >In article <1990Aug14.025550.17669@esegue.segue.boston.ma.us> >johnl@esegue.segue.boston.ma.us (John R. Levine) writes: >> The Intel 486 Programmer's manual has sample code to tell the difference >> among the 8086, 286, 386, and 486 without any trapping at all. > >The code being referenced is on page 22-12 of the Intel "i486 Microprocessor >Programmer's Reference Manual" (PRM) PN 240486. The code on this page does >NOT detect the difference between '386 and '486. The code to detect the difference between the '386 and '486 is hidden away on page 3-42. It uses bit 18 of EFLAGS. The code that I posted that is derived from that worked in real mode and in virtual 8086 mode (for the latter, at least it worked under QEMM 5.0, which I assume means it was in VM 8086 mode). I don't know why the code you tried didn't work in real mode. You might compare the two to find out why. I have not tried mine out in protected mode. -- sidney markowitz