首页
社区
课程
招聘
[原创]获取CPU信息
发表于: 2009-7-4 13:47 9217

[原创]获取CPU信息

2009-7-4 13:47
9217

研究了一下 Intel CPU的CPUID指令
搞了一个晚上~弄出来这个东西~!
呵呵``没什么技术~别见笑
附件是完整原文件,和偶收集的一点资料
编译环境:winxp sp3    RadASM

.586p
.model flat ,stdcall

NULL    equ 0
MB_OK   equ 0

ExitProcess PROTO :DWORD
MessageBoxA PROTO :DWORD,:DWORD,:DWORD,:DWORD

includelib kernel32.lib
includelib user32.lib
include windows.inc

.data
        szText db 128 dup(?)
        szCaption db "CPU 型号",0

.code
        start:
                lea edi,szText
                mov eax,80000002h
                cpuid
                mov [edi+4*0],eax
                mov [edi+4*1],ebx
                mov [edi+4*2],ecx
                mov [edi+4*3],edx
                mov eax,80000003h
                cpuid
                mov [edi+4*4],eax
                mov [edi+4*5],ebx
                mov [edi+4*6],ecx
                mov [edi+4*7],edx
                mov eax,80000004h
                cpuid
                mov [edi+4*8],eax
                mov [edi+4*9],ebx
                mov [edi+4*10],ecx
                mov [edi+4*11],edx
        
        push 0
        lea eax,szCaption
        push eax
        lea eax,szText
        push eax
        push NULL
        call MessageBoxA
        xor eax,eax
        push eax
        call ExitProcess
        end start


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 7
支持
分享
最新回复 (15)
雪    币: 342
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
谢谢,下来收藏
2009-7-4 14:37
0
雪    币: 172
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
Intel和AMD的都通用的么?
2009-7-4 15:49
0
雪    币: 370
活跃值: (52)
能力值: ( LV13,RANK:350 )
在线值:
发帖
回帖
粉丝
4
恩 都是一样的X86架构 话说近日龙芯获得MIPS架构的授权了
2009-7-4 18:16
0
雪    币: 193
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
获取CPU名称这个应该是一样的,其他的可能有不同。汗,我觉得应该加个判断程序是否支持CPUID指令比较好,不过貌似现在的主流CPU都是支持的,除了N年前的古董。贴张Intel的图!
上传的附件:
  • 1.JPG (19.17kb,341次下载)
2009-7-4 20:11
0
雪    币: 1753
活跃值: (885)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
6
如果改成.386
编译就会出错`
貌似只有.586才支持该指令~
2009-7-5 02:33
0
雪    币: 1753
活跃值: (885)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
7
那天晚上心情不爽啊~~!
唉....一些伤心事......只有靠搞这些来~压制~~~
看完资料~~`写这程序~
最后成功了~`
心情也舒畅了~!
呵呵``...............~!
2009-7-5 02:36
0
雪    币: 50
活跃值: (73)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
收藏了,感谢楼主
2009-7-5 02:54
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
谢谢,下来收藏
2009-7-5 22:02
0
雪    币: 354
活跃值: (10)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
10
不通用。。。
2009-7-5 22:24
0
雪    币: 231
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
qdk
11
啥叫不通用。要做成什么样子才叫通用?
2009-7-7 23:02
0
雪    币: 220
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
wmi获取,基本上在win平台通用的
2009-7-7 23:15
0
雪    币: 152
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
果然是远古时代的CPUID
2009-7-8 10:41
0
雪    币: 354
活跃值: (10)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
14
连个判断都没有能通用么?
科普下:
http://www.debugman.com/read.php?tid=3396
2009-7-8 11:07
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
这个值得收藏。。。。。。
2009-7-8 22:18
0
雪    币: 1753
活跃值: (885)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
16
确实`偶没加是否CPU支持该指令~好在论坛上有人发了``关于判断是否支持该指令的一篇文章
http://bbs.pediy.com/showthread.php?t=93040
我看了下`~很不错用的内联汇编~又学习了一点东西~
有空我会对我的的这个代码做出改进~~
呵呵``偶还是 `以X86编程
2009-7-9 23:47
0
游客
登录 | 注册 方可回帖
返回
//