检查计算机是否支持PSE汇编程序

时间:2013-10-21 09:01:45

标签: assembly x86

我想检查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的值。

1 个答案:

答案 0 :(得分:1)

您的PAE代码看似错误 - 它正在测试MSR,而不是PAE。它应该是:

test EDX, 000000040h  ; test PAE (bit 6)

类似于PSE,它将是:

test EDX, 000000008h  ; test PSE (bit 3)