Chinaunix首页 | 论坛 | 博客
  • 博客访问: 336168
  • 博文数量: 72
  • 博客积分: 2130
  • 博客等级: 大尉
  • 技术积分: 857
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-05 16:10
文章分类

全部博文(72)

文章存档

2010年(5)

2009年(14)

2008年(53)

分类: LINUX

2008-12-11 17:30:46

#include
static inline void cpuid(unsigned int op,
                         unsigned int *eax, unsigned int *ebx,
                         unsigned int *ecx, unsigned int *edx)
{
        *eax = op;
        *ecx = 0;
        asm("cpuid"
            : "=a" (*eax),
              "=b" (*ebx),
              "=c" (*ecx),
              "=d" (*edx)
            : "0" (*eax), "2" (*ecx));

}

int main(void)
{
        unsigned int v[4];
        cpuid(0x80000001,&v[0],&v[1],&v[2],&v[3]);
        if(v[3] & (1<<20))
                printf("it has actived PAE!\n");
        else
                printf("not active PAE!\n");
        printf("\n");
        printf("EAX output:%#x\n",v[0]);
        printf("EBX output:%#x\n",v[1]);
        printf("ECX output:%#x\n",v[2]);
        printf("EDX output:%#x\n",v[3]);
        return 0;
}

阅读(870) | 评论(0) | 转发(0) |
0

上一篇:cmake

下一篇:sed

给主人留下些什么吧!~~