中国开发网: 论坛: 程序员情感CBD: 贴子 419387
方方
技术问题:C内联汇编cpuid,参数3取序列号,为什么出来的都是0阿
int main(int argc, char **argv)
{ int op;
unsigned int cpuid[4];
for (op=0;op<4;op++) {
asm ("cpuid"
: "=a" (cpuid[0]),
"=b" (cpuid[1]),
"=c" (cpuid[2]),
"=d" (cpuid[3])
: "a" (op));

printf("%d: ",op);
printf("%X;",cpuid[0]);
printf("%X;",cpuid[1]);
printf("%X;",cpuid[2]);
printf("%X;\n",cpuid[3]);
}
exit(0);
}
[root@dallas]# ./test
0: 5;756E6547;6C65746E;49656E69;
1: F41;10800;441D;BFEBFBFF;
2: 605B5101;0;0;7C7040;
3: 0;0;0;0;
[root@dallas]# hostid
400a1414

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录