zoukankan      html  css  js  c++  java
  • i386的寄存器

    转载自:http://oss.org.cn/html/index.html

    1、8个32位的通用寄存器

    EAX  一般用作累加器

    EBX  一般用作基址寄存器(Base)

    ECX  一般用来计数(Count)

    EDX  一般用来存放数据(Data)

    ESP  一般用作堆栈指针(Stack Pointer)

    EBP  一般用作基址指针(Base Pointer)

    ESI   一般用作源变址(Source Index)

    EDI   一般用作目标变址(Destinatin Index)

    2、8个调试寄存器

     

    3、6个16位的段寄存器

    CS  代码段寄存器

    DS  数据段寄存器

    SS  堆栈段寄存器

    ES、FS及GS  附加数据段寄存器

    4、432位的控制寄存器

      

    这几个寄存器中保存全局性和任务无关的机器状态。

    CR0中包含了6个预定义标志,0位是保护允许位PE(Protedted Enable),用于启动保护模式,如果PE位置1,则保护模式启动,如果PE=0,则在实模式下运行。1位是监控协处理位MP(Moniter coprocessor),它与第3位一起决定:当TS=1时操作码WAIT是否产生一个“协处理器不能使用”的出错信号。第3位是任务转换位(Task Switch),当一个任务转换完成之后,自动将它置1。随着TS=1,就不能使用协处理器。CR0的第2位是模拟协处理器位 EM (Emulate coprocessor),如果EM=1,则不能使用协处理器,如果EM=0,则允许使用协处理器。第4位是微处理器的扩展类型位ET(Processor Extension Type),其内保存着处理器扩展类型的信息,如果ET=0,则标识系统使用的是287协处理器,如果 ET=1,则表示系统使用的是387浮点协处理器。CR0的第31位是分页允许位(Paging Enable),它表示芯片上的分页部件是否允许工作,下一节就会讲到。由PG位和PE位定义的操作方式如图2.4 所示。

            
    CR1是未定义的控制寄存器,供将来的处理器使用。

                            图 2-4   PG位和PE位定义的操作方式   

    CR2是页故障线性地址寄存器,保存最后一次出现页故障的全32位线性地址。

    CR3是页目录基址寄存器,保存页目录表的物理地址,页目录表总是放在以4K字节为单位的存储器边界上,因此,它的地址的低12位总为0,不起作用,即使写上内容,也不会被理会。

    5、增加4个系统地址寄存器

    全局描述符表寄存器GDTR(Global Descriptor Table Register ),是48位寄存器,用来保存全局描述符表(GDT)的32位基地址和16为GDT的界限。

    中断描述符表寄存器IDTR(Interrupt Descriptor Table Register),是48位寄存器,用来保存中断描述符表(IDT)的32位基地址和16为IDT的界限。

    局部描述符表寄存器LDTR(Global Descriptor Table Register ),是16位寄存器,保存局部描述符表LDT段的选择符。

    任务状态寄存器TR(Task State Register)是16位寄存器,用于保存任务状态段TSS段的16位选择符。

    6、增加2个测试寄存器

      这两个寄存器用于在转换旁视缓冲器Translation Lookaside Buffer)中测试随机存储器(RAM)和相联存储器(CAM

  • 相关阅读:
    Auto Mapper01
    一个ActionResult中定位到两个视图—<团委项目>
    网站根目录的问题
    数据库基础和断点调试
    linux 环境下jmeter+ant+jenkins
    Postman 下载和使用
    用ExtentReports美化你的测试报告
    extentreports报告插件与testng集成
    SourceTree使用图解
    charles4.2下载与破解方法以及配置https
  • 原文地址:https://www.cnblogs.com/wang-can/p/3369184.html
Copyright © 2011-2022 走看看