首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

在DOS下怎么试用CPUID指令获取CPU信息

2012-02-26 
在DOS下如何试用CPUID指令获取CPU信息?小弟对汇编这方面不是很了解,还请各位大哥多看看,首先谢过各位了:)

在DOS下如何试用CPUID指令获取CPU信息?
小弟对汇编这方面不是很了解,还请各位大哥多看看,首先谢过各位了:) 

问题如题.我以前在VC下内嵌汇编的方法实现过在Win32环境的相似程序.可是现在要移植到DOS下面了,小弟有几个疑惑 

1)CPUID指令牵涉到(eax,ecx等等),应该是32位的汇编吧?  
2)32位的汇编编译后可以在DOS下面运行吗? 
3)CPUID是不是有专门的支持16位汇编的指令呢? 
4)有汇编的编译器可以编译CPUID指令并且能运行在DOS吗? 有C编译器能支持内嵌CPUID命令吗? 

请各位路过的知道的就指点一二吧,再次谢谢各位大哥了!

[解决办法]
(1)CPUID该指令的确使用的是EAX,EBX,ECX,EDX寄存器.看了一下intel的手册.没见到它使用任何16位的东东.所的返回的标志位也都是在EBX,ECX这些32位寄存器内处理的.
(2)32位的汇编编译后的指令应该不可以在DOS下运行吧!因为DOS是16位的啊...
(3)偶想也应该有的.但真的偶在intel程序员手册里没有看到.
(4)汇编编译器也有MASM,TASM了也许楼主得找个低版本的试试.

CPUID指令是在486以后的芯片上才加上去的指令.对于汇编的东东.真的忘记的差不多了...以下找到一个文章介绍用法.楼主看看...
http://www.weste.net/2006/6-12/11380593215.html

热点排行