delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/10/21/07:07:57

Message-ID: <19991021105944.2777.rocketmail@web1001.mail.yahoo.com>
Date: Thu, 21 Oct 1999 03:59:44 -0700 (PDT)
From: Prashant TR <prashant_tr AT yahoo DOT com>
Subject: HELLO! Anyone with a 486DX4 ?
To: djgpp AT delorie DOT com
MIME-Version: 1.0
Reply-To: djgpp AT delorie DOT com

Hi everyone,

   I needed to get some details about the CPU
information on a 486DX4. I couldn't find one to test
this. I would be grateful if you guys could send me
the output of this program to me. People with access
to any 486s can also send me the reports.

Here it is:
-----------
#include <stdio.h>

unsigned idflag()
{
 register unsigned long eax __asm__("ax");

 asm("pushfl;
      popl   %eax;
      orl    $0x200000, %eax;
      pushl  %eax;
      popfl;
      pushfl;
      popl  %eax;
      andl  $0x200000, %eax;");

 return (eax);
}

unsigned long cpuid(unsigned fn)
{
 register unsigned long eax __asm__("ax");

 eax = fn;
 __asm__("pushl %ebx;
          pushl %ecx;
          pushl %edx;
          cpuid;
          popl  %edx;
          popl  %ecx;
          popl  %ebx");
 return (eax);
}

int main()
{
 register int level;

 if (!idflag()) {
    printf("Sorry! No CPUID.\n");
    return 0;
 }

 printf("CPUID level = %d\n", level = cpuid(0));
 if (level) printf("CPUID value = %lX\n", cpuid(1));
 return 0;
}
-----------

Thank in advance.
If possible, please CC to me as well.

----
Prashant TR
__________________________________________________
Do You Yahoo!?
Bid and sell for free at http://auctions.yahoo.com

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019