cpu id 系列号代码

1。先看看是那家公司的cpu,有intel的,还有amd的和 cyrix的。全世界只有三家,实际就是两家。

先让EAX=0,再调用CPUID    
Inel的CPU将返回:    
EBX:756E6547H   'Genu '    
EDX:49656E69H   'ineI '    
ECX:6C65746EH   'ntel '    
EBX,EDX,ECX将连成“GenuineIntel”,真正的Intel。

用CPUID指令,首先你可以确定你用的CPU是Intel的。 


Cyrix的CPU将返回:    
EBX:43797269H    
EDX:78496E73H    
ECX:74656164H    
“CyrixInstead”,“Cyrix来代替”。

   
AMD的CPU将返回:    
EBX:41757468H    
EDX:656E7469H    
ECX:63414D44H    
“AuthenticAMD ",可信的AMD。  


2.   得到系列号的高32位 和是否支持有系列号。
然后执行:
MOV   EAX,01H
CPUID
如果返回的EDX中,低18位为1,那么这个CPU就是支持序列号的。
此时EAX就是序列号的高32位。这32位对同一型号的CPU是一样的。 


3. 得到系列好的低64位。
再执行:
MOV   EAX,03H
CPUID
此时的EDX:ECX就是序列号的第64位。


代码如下:

#include <stdio.h>

#include <stdlib.h>
#include <string.h>
//#include <conio.h>


void main(void)
{
      unsigned char vendor_id_0[100] = "\0";
    unsigned char vendor_id_1[100] = "\0";
    unsigned char vendor_id_2[40]= "\0";
    unsigned char vendor_id_3[40]= "\0";
    unsigned char vendor_id_4[40]= "\0";
    unsigned char vendor_id_5[40]= "\0";
    unsigned char vendor_id_6[40]= "\0";
    unsigned int i_support_serial = 0;
    unsigned int i_first_serial = 0;
    unsigned int i_second_serial = 0;
    unsigned int i_third_serial = 0;
#if 1
    __asm
    (
        "movl $0,%%eax\n\t"
        "cpuid\n\t"
        "movl %%ebx,%0\n\t"
        "movl %%edx,%1\n\t"
        "movl %%ecx,%2\n\t"
        
        "movl $1,%%eax\n\t"
        "movl $0,%%edx\n\t"
        "cpuid\n\t"
        "movl %%edx,%3\n\t"
        "movl %%eax,%4\n\t"

        "movl $3,%%eax\n\t"
        "cpuid\n\t"
        "movl %%edx,%5\n\t"
        "movl %%ecx,%6\n\t"

        :"=m"(vendor_id_0),"=m"(vendor_id_1),"=m"(vendor_id_2),"=m"(i_support_serial),"=m"(i_first_serial),"=m"(i_second_serial),"=m"(i_third_serial)

    );
printf("id = %s,%s,%s,%x,%x,%x,%x\n",vendor_id_0,vendor_id_1,vendor_id_2,i_support_serial,i_first_serial,i_second_serial,i_third_serial);
  //i_support_serial  低18位为1,那么这个CPU就是支持序列号的。
  //i_first_serial 同一型号的CPU的id号(共96位,最高的32位)
  //i_second_serial  系列号的(次高的32位)
  //i_third_serial   系列号的(底32位)

    

#endif
    //printf("id = %s,%s\n",vendor_id_0,vendor_id_1);
}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/451085.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决- SecureCRT上运行 linux vim 命令中文出现乱码

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 乱码如图&#xff1a; 这个问题是CRT的编码设置造成的&#xff0c;改一下设置就可以了&#xff1a; 1. 在当前连接上右键选择最后一个 2…

开发一个自己的 CSS 框架(五)

这一期我们继续完成我们的网格布局 容器类 通过一个 # 占位符&#xff0c;来减少代码输出量。 #containerpadding-right: 15pxpadding-left: 15pxmargin-right: automargin-left: auto.containerwidth: 100%extend #containermedia screen and (min-width: $media-size-1)max-w…

mysql event 简单demo

功能&#xff1a;每3秒删除b表数据&#xff0c;查询a表中的5条数据并插入b表。 /* 查看mysql事件状态 */ show variables like %event_scheduler%;/* 开启mysql事件 */ SET GLOBAL event_scheduler ON;/* 测试a表*/ CREATE TABLE test_a (id int(11) NOT NULL AUTO_INCREMENT…

linux中操作数据库的使用命令记录

1&#xff0c;mysql 查看数据库表编码格式&#xff1a; show create table widget; 修改数据库表编码格式&#xff1a; alter table widget default character set utf8; 修改数据库表中某字段的编码格式&#xff1a; alter table widget change widget_name widget_name varc…

ICC Scenario Definition

现代先进工艺下的后端设计都是在 MCMM 情况下设计的&#xff0c;所谓 MCMM 就是 muti-corner muti-mode&#xff0c;用于芯片的不同工作模式和工作条件。 后端设计过程中&#xff0c;需要保证芯片在所有工作模式和工作条件下都能正常工作&#xff0c;工作模式一般只有几种&…

别瞎忙活:创业公司的6条时间管理策略

导读&#xff1a;无数创业者为自己的公司努力拼搏&#xff0c;把一切时间投入到公司建设中。这种724小时的热情对于创业者本人是必须的&#xff0c;然而对于创业中的团队来说&#xff0c;更重要的是学会管理时间。倦怠是错误时间管理带来的显著危害&#xff0c;但最大的危险是因…

JDK8下载|JDK1.8下载可选择window版和linux版

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 摘要&#xff1a;Oracle甲骨文公司Oracle公司如期发布了Java 8正式版!现在你就可以下载Java 8正式版了&#xff0c;同期发布的还有JDK 8。…

持续集成与持续部署宝典Part 2:创建持续集成流水线

2019独角兽企业重金招聘Python工程师标准>>> 在本系列文章中&#xff0c;我们将探讨在容器时代如何在基于Docker的环境中创建连贯的工作流程和流水线来简化大规模项目的部署。另外&#xff0c;我们还将详细介绍如何利用Docker和Rancher自动化处理这些工作流。 在上文…

64 装饰器函数: 母版 csrf防御机制 cookie

主要内容: 1: 装饰器函数 a: 原理: 在不改变原函数的代码和调用方式的情况下, 给函数动态的添加功能 b: 实例: 装饰器的原理: def yue(tools):print(使用%s约一约 % tools) def wrapper(fn):def inner(*args, **kwargs):print(先准备好钱)fn(*args, **kwargs)return inner yue …

Facebook与Google的互联网霸主争夺战

摘要&#xff1a;谷歌的两位创始人对搜索情有独钟&#xff0c;而没有看到互联网发展的大势。虽然目前Facebook的估值最高为1000亿美元&#xff0c;与谷歌近2000亿美元的市值还相去甚远&#xff0c;但是未来很有可能超越谷歌&#xff0c;成为互联网新一代霸主。谷歌的两位创始人…

Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 方案一&#xff1a;用Eclipse自带的Export功能 步骤1&#xff1a;准备主清单文件 “MANIFEST.MF”&#xff0c; 由于是打包引用了第三…

Linux-MySQL基本命令-SQL语句

服务端命令SQL 在数据库系统中&#xff0c;SQL语句不区分大小写(建议用大写) SQL语句可单行或多行书写&#xff0c;以“;”结尾 关键词不能跨多行或简写 用空格和缩进来提高语句的可读性 子句通常位于独立行&#xff0c;便于编辑&#xff0c;提高可读性 注释&#x…

webAPI token验证

ASP.NET WebApi 实现Token验证 https://www.cnblogs.com/dukang1991/p/5627584.html转载于:https://www.cnblogs.com/KQNLL/p/9757025.html

评论:中国企业向Faceook学习什么

摘要&#xff1a;古人云&#xff1a;“迨天之未阴雨&#xff0c;彻彼桑土&#xff0c;绸缪牖户。且不论究竟谁会成为中国的Facebook&#xff0c;伴随着Facebook因上市带来的又一轮火热&#xff0c;不妨先来看看中国企业最需要向Facebook学习什么。古人云&#xff1a;“迨天之未…

java ++i、i++、i++ + ++i、i++ + i++原理

先上代码&#xff1a; public static void main(String args[]) {int A 1;int B 10;int C 100;int D 1000;System.out.println(A);System.out.println(B);System.out.println(C C);System.out.println(C);System.out.println(D D);System.out.println(D);} 在来运行结果…

一个判断session是否过期的小技巧

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 Session一直是我们做web项目经常使用的&#xff0c;以前没太注意&#xff0c;这次又细致的看了下&#xff01; 1.session其实就是一个Ma…

扩展方法

扩展方法是写在静态类中&#xff0c;且方法是静态方法。 不限制参数的数量。 不限制返回类型。 不限制可使用扩展方法的类型。 和普通方法编写相似&#xff0c;唯一不同的是每一个扩展方法都必须有一个固定的参数。statc void Method&#xff08; this DataType name&#xff0…

cpu执行命令方式

(一)有序处理器 早期的处理器为有序处理器&#xff08;In-order processors&#xff09;&#xff0c;有序处理器处理指令通常有以下几步&#xff1a; 指令获取如果指令的输入操作对象&#xff08;input operands&#xff09;可用&#xff08;例如已经在寄存器中了&#xff09…

jQuery基础-事件

只能添加一个处理函数&#xff0c;后面的会覆盖前面 会有兼容性差异 冒泡 会依次检查父元素 截获冒泡 或者 最大的缺陷 并且在IE和NetSpace里面分别为冒泡和捕获两种 多个处理函数 依次执行 捕获--->自己--->冒泡 true 只捕获&#xff0c;不冒泡 false 只冒泡 从父元素的…

别的AI还在打游戏,这个AI已经当上“超级马里奥”游戏策划了|GECCO最佳论文

AI打游戏已经不是什么新鲜事了&#xff0c;“沉迷”Dota 2、星际争霸、LOL的AI一个接一个的出现。 但是你也许不知道&#xff0c;相比这些“游戏玩家”AI&#xff0c;还有一位优秀的AI&#xff0c;直接当起了“游戏策划”&#xff0c;做的还是脍炙人口的“超级马里奥”。 &…