方方:
技术问题:C内联汇编cpuid,参数3取序列号,为什么出来的都是0阿
[阅读: 750] 2006-10-13 10:19:52
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