在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