Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 检查计算机是否支持PSE汇编程序_Assembly_X86 - Fatal编程技术网

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

Assembly 检查计算机是否支持PSE汇编程序,assembly,x86,Assembly,X86,我要检查CPU是否支持PSE。我在英特尔文档中发现PSE位于EDX寄存器的第3位 我有PAE的代码: pae: mov eax,1 cpuid test EDX, 000000020h jnz is_pae jmp name 在英特尔文档中,PAE位于EDX寄存器的第6位。为什么代码中的0000000 20h以及用于检查PSE的值。看起来您的PAE代码是错误的-它正在测试MSR,而不是PAE。应该是: test EDX, 000000040h ; te

我要检查CPU是否支持PSE。我在英特尔文档中发现PSE位于
EDX
寄存器的第3位

我有PAE的代码:

pae:
    mov eax,1
    cpuid
    test EDX, 000000020h
    jnz is_pae
    jmp name

在英特尔文档中,PAE位于
EDX
寄存器的第6位。为什么代码中的0000000 20h以及用于检查PSE的值。

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

test EDX, 000000040h  ; test PAE (bit 6)
同样,对于PSE,它将是:

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

这需要对位和十六进制格式有基本的了解。然而,除此之外,这里并没有足够的问题来回答这个问题。