阅读:903回复:0
线性地址是如何切换的??
请看下面一个程序片断:
VirtualProtect( (PVOID)virtual_address, 0x200, PAGE_READWRITE, &OldProtect ); *(PUSHORT)virtual_address= \'zm\'; 在执行了VirtualProtect之后我用sofice的page指令查看virtual_address所指向的虚地址,结果为 physical address = 03916000 attributes = P A U R 在执行了*(PUSHORT)virtual_address= \'zm\';之后在用page查看virtual_address所指向的虚地址,结果为 physical address = 01CF6000 attributes = P D A U RW 虚地址竟然在执行赋值语句的时候发生了切换。请问这在硬件(或者其它方面)是怎样实现的?? SOS!!! |
|
|