0.driverbase-控制寄存器(CR0~CR3)

控制寄存器(CR0~CR3)用于控制和确定处理器的操作模式以及当前执行任务的特性

CR0

CR0中含有控制处理器操作模式和状态的系统控制标志

       PE:CR0的位0是启用保护(Protection Enable)标志。当设置该位时即开启了保护模式;当复位时即进入实地址模式。这个标志仅开启段级保护,而并没有启用分页机制。若要启用分页机制,那么PE和PG标志都要置位

        PG:CR0的位31是分页(Paging)标志。当设置该位时即开启了分页机制;当复位时则禁止分页机制,此时所有线性地址等同于物理地址。在开启这个标志之前必须已经或者同时开启PE标志。即若要启用分页机制,那么PE和PG标志都要置位

       WP:CR0的位16是写保护(Write Proctect)标志。当设置该标志时,处理器会禁止超级用户程序(例如特权级0的程序)向用户级只读页面执行写操作;当该位复位时则反之。常用于去保护写保护

_asm
				{
					CLI  ;                 
					MOV    EAX, CR0  ;    
					AND EAX, NOT 10000H ;
					MOV    CR0, EAX;        
				}
_asm 
				{
					MOV    EAX, CR0;        
					OR    EAX, 10000H;            
					MOV    CR0, EAX ;              
					STI;                    
				}

CR3

CR3含有存放页目录表页面的物理地址,因此CR3也被称为PDBR。因为页目录表页面是页对齐的,所以该寄存器只有高20位是有效的。而低12位保留供更高级处理器使用,因此在往CR3中加载一个新值时低12位必须设置为0,而启用的PAE后,就是最后五位为0




你可能感兴趣的:(xml,IE,读书,encoding,网易)