我想检查CPU是否支持PSE。我在英特尔文档中发现,PSE位于EDX
注册表中的BIT 3上。
我有PAE代码:
pae:
mov eax,1
cpuid
test EDX, 000000020h
jnz is_pae
jmp name
在英特尔doc中,PAE位于EDX
注册表中的BIT 6上。为什么在代码中是000000020h以及用于检查PSE的值。
答案 0 :(得分:1)
您的PAE
代码看似错误 - 它正在测试MSR
,而不是PAE
。它应该是:
test EDX, 000000040h ; test PAE (bit 6)
类似于PSE,它将是:
test EDX, 000000008h ; test PSE (bit 3)