我正在拆解一些代码,我遇到了:
mov eax, cr3
mov cr3, eax
Run Code Online (Sandbox Code Playgroud)
这些线的功能是什么?
这是x86低级别(bios/firmware /引导加载程序之前)初始化代码.我们还没有设置缓存.
Geo*_*ips 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
Run Code Online (Sandbox Code Playgroud)
您可以在以下位置找到该手册以及更多便捷手册:
http://www.intel.com/products/processor/manuals/index.htm
| 归档时间: |
|
| 查看次数: |
2516 次 |
| 最近记录: |