我需要找到CPU的架构类型。由于机器正在运行syslinux,我无法访问/proc/cpuinfo。我知道有一种使用内联ASM的方法,但是我认为我的语法不正确,因为我的变量iedx没有被正确设置。
我正在努力学习ASM,但并不是专家。如果有人有任何提示或可以指点我方向,我将不胜感激。
我正在努力学习ASM,但并不是专家。如果有人有任何提示或可以指点我方向,我将不胜感激。
static int is64Bit(void) {
int iedx = 0;
asm("mov %eax, 0x80000001");
asm("cpuid");
asm("mov %0, %%eax" : : "a" (iedx));
if ((iedx) && (1 << 29))
{
return 1;
}
return 0;
}