Xref: utzoo comp.lang.pascal:5872 comp.sys.ibm.pc.hardware:6933
Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!cs.utexas.edu!uunet!mcsun!hp4nl!rulway.LeidenUniv.nl!rulcri!vereijken
From: vereijken@rulcri.leidenuniv.nl (Jan Joris Vereijken)
Newsgroups: comp.lang.pascal,comp.sys.ibm.pc.hardware
Subject: 8086 vs. 80286 : How to detect which one?
Message-ID: <1991Mar26.223512.1@rulcri.leidenuniv.nl>
Date: 26 Mar 91 21:35:12 GMT
Sender: news@rulway.LeidenUniv.nl (Usenet news account)
Organization: Leiden University Computer Centre
Lines: 25
Nntp-Posting-Host: rulcr1

Hi,

It turns out that Turbo Pascal 6.0 generates 80286-specific code (with the $G+
switch) that runs on a V30 chip. Comes the next logical question:

How do I find out which processor I'm being run on?

See, I want my program to print a nice "This program does not work on 8088/86
based machines." whenever someone tries that. There *is* a demoprog in the Turbo
6.0 distribution, but that one only detects only "80286" or "no 80286". On a V30
is says "no 80286", which is correct, but not of much use in my case.

Actually, I want more, I want a way where I can decide wheter I'm dealing with:

8088 / 8086 / 80188 / 80186 / V20 / V30 / 80286 / 80386 / 80486

Ambitious, eh? Well, it should be possible: for example Norton System Info
gived the processor type. 

Hmmm... Oh well, making a distinction between 8088,8086 / V20,30 / 80286,386,486
would be nice for starters.

Kind regards,

- Jan Joris Vereijken -