首页 > 其他分享 >控制寄存器(Cr0-Cr3)

控制寄存器(Cr0-Cr3)

时间:2023-03-24 12:38:00浏览次数:31  
标签:Cr3 CR0 32 Cr0 地址 寄存器 Bit 目录

控制寄存器(CR0~CR3)用于控制和确定处理器的操作模式以及当前执行任务的特性。
CR0中含有控制处理器操作模式和状态的系统控制标志;
CR1保留不用;
CR2含有导致页错误的线性地址;
CR3中含有页目录表物理内存基地址,因此该寄存器也被称为页目录基地址寄存器PDBR(Page-Directory Base addressRegister)
CR0
image
x86_32的CR0为32bit。X86_64下为64bit,其中低32bit与x86_32的CR0保持一致,高32bit没有定义,作保留使用,除了bit 4其他所有位都是可读可写的。
Protected-Mode Enable (PE) Bit. Bit0. PE=0,表示CPU处于实模式; PE=1表CPU处于保护模式,并使用分段机制。
Paging Enable (PG) Bit. Bit 31. 该位控制分页机制,PG=1,启动分页机制;PG=0,不使用分页机制。
Write Protect (WP) Bit. Bit 16. 该位为写保护控制位,WP=0时,不允许写,WP=1时,允许写

CR2
存放发生页错误时的虚拟地址,格式如下:
image

CR3
用来存放最高级页目录地址(物理地址),各级页表项中存放的也是物理地址。格式如下:
image

图3-4中不使用PAE技术,有两层页表。最高层为页目录有1024项,占用4KB。page_directory_table baseaddress为物理地址,指向4KB对齐的页目录地址。
 图3-5中,使用PAE技术,三层页表寻址。最高层为页目录指针,4项,占用32B空间。所以  page_directory_table baseaddress为27位,指向32B对齐的页目录指针表。

CR4
legacy mode(传统模式) 下低32位与x86_32的CR4一致
image

标签:Cr3,CR0,32,Cr0,地址,寄存器,Bit,目录
From: https://www.cnblogs.com/hanpto/p/17251164.html

相关文章

  • 朱有鹏:寄存器修改指定位或多个不连续位,左移<< 设置特定二进制数
    一:设置连续,特定位为1问:假设要有一组32位的二进制数,要修改其中3~7bit位的位为1(其他位为0),该如何写?答:推算: 7-3+1(第7位减去第3位,加1是公式必须这样这么写,先获取要......
  • 寄存器修改指定位不影响其他位, 位与&、位或|、位异或^
    一、位与&(位清零用)位与特点:任何数(0或1),和1,位与无变化;和0,位与变成0真值表: 1&1=1   0&0=0  1&0=0   0&1=0代码:#include<stdio.h>intmain(void){u......
  • 什么是寄存器和存储器?寄存器与存储器有何区别?
    中央处理器CPU是单片机的核心,主要用来解译单片机指令以及处理计算机数据,内部结构大致可以分为控制单元、逻辑运算单元和存储单元三个部分,存储器和寄存器在计算机中起着不可......
  • 汇编 标志寄存器 ZF/PF/SF/CF/OF标志 adc/sbb/cmp指令 pushf和popf 检测比较结果
    标志寄存器CPU内部的寄存器中,有一种特殊的寄存器(对于不同的处理机,个数和结构都可能)具有以下3中作用。用来存储相关指令的某些执行结果。用来为CPU执行相关指令提供行为依据......
  • 关于OV5640的重要寄存器配置问题
    最近在做ZYNQ的图像处理的学习,一直用的导入图片的方式进行了,现在想用摄像头试试真实的情况,总结一下几个重要寄存器的配置问题最重要的当然输出的图像分辨率,下面是输出图......
  • 常见寄存器与汇编指令
    学习ctf中RE模块必须掌握的寄存器通用寄存器32位16位作用EAX(累加器)AX作用于操作数和结果的数据EBX(基址寄存器)BXDS段中的数据指针ECX(计数器)CX用......
  • stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
    文章目录​​一、STM32串口常用寄存器和库函数​​​​1.1常用的串口寄存器​​​​1.2串口相关的库函数​​​​1.3状态寄存器(USART_SR)​​​​1.4数据寄存器(USART_D......
  • 1.2 CPU是寄存器的集合体
    1.程序是把寄存器当作对象来描述的。2.汇编语言采用助记符来编写程序。3.机器语言是指CPU可以直接解释和执行的语言。  通过上面这个代码例子可以看出:机器语言级别......
  • 常见寄存器
    寄存器名寄存器简介主要功能63-031-015-08-0rax累加器,是算术运算的主要寄存器存储返回值raxeaxaxalrbx基址寄存器,被调用者保存存放存储区的起始......
  • 1.2 CPU是寄存器的集合体
    1.程序是把寄存器当作对象来描述的。2.汇编语言采用助记符来编写程序。3.机器语言是指CPU可以直接解释和执行的语言。4.汇编语言和机器语言基本上是一一对应的。 通......