本帖最后由 jl2012_1228 于 2015-06-08 18:26 编辑
下面这段x86嵌入式汇编需要在MIPS架构下运行,需要修改成MIPS汇编,
哪位大神知道的话,帮忙修改一下
unsigned int s1,s2,s3,s4;
#if 1
asm volatile
(
"movl $0x01 , %%eax ; \n\t"
"xorl %%edx , %%edx ;\n\t"
"cpuid ;\n\t"
"movl %%edx ,%0 ;\n\t"
"movl %%eax ,%1 ; \n\t"
:"=m"(s1),"=m"(s2)
);
//printf("%08X-%08X-",s1,s2);
asm volatile
(
"movl $0x03,%%eax ;\n\t"
"xorl %%ecx,%%ecx ;\n\t"
"xorl %%edx,%%edx ;\n\t"
"cpuid ;\n\t"
"movl %%edx,%0 ;\n\t"
"movl %%ecx,%1 ;\n\t"
:"=m"(s3),"=m"(s4)
);
// printf("%08X-%08X \n",s3,s4);
char cpuid_check[20];
sprintf(cpuid_check,"%08X-%08X",s3,s4);
if(atol(cpuid_check) == 0){
snprintf(id,128,"%08X-%08X-0-0",s1,s2);
}else{
snprintf(id,128,"%08X-%08X-%08X-%08X",s1,s2,s3,s4);
}
|