我可以以编程方式更改CPU模式吗? (例如,从保护模式到实模式。)
我想读取Visual Studio
中的内存,但出现访问错误。 (因为处理器处于保护模式?)
我该怎么做?
要切换为实模式,您的代码必须:
具有足够高的特权(“ CPL = 0”)。对于大多数操作系统(例如Windows),这主要将其限制为“仅内核”。
正在以实模式(在物理地址空间的前1 MiB中)访问的内存中运行。否则,一旦进入实模式,您将崩溃,因为CPU无法访问您的代码。
对于所有可能切换到实模式以访问内存(并可能从实模式访问内存的情况);也可以在不切换到实模式(例如更改段和/或页表)的情况下访问内存,从而减少麻烦并提高性能。