在x86汇编代码中“mov eax,cr3; mov cr3,eax”的功能是什么?

时间:2009-07-07 03:19:42

标签: assembly x86

我正在拆解一些代码而且我遇到了:

mov eax, cr3
mov cr3, eax

这些线的功能是什么?

这是x86低级别(bios / firmware /引导加载程序之前)初始化代码。我们还没有设置缓存。

1 个答案:

答案 0 :(得分:26)

通过自己加载cr3来刷新TLB(Translation Lookaside Buffers)。

英特尔甚至在“Intel 64和IA-32架构软件开发手册第3A卷 - 系统编程指南”中提到了这些代码。

mov EAX,CR3  ; invalidate the TLB
mov CR3,EAX  ; by copying CR3 to itself

您可以在以下网址找到该手册以及更多便捷手册:

http://www.intel.com/products/processor/manuals/index.htm