zoukankan      html  css  js  c++  java
  • 汇编笔记(1)

    数据段:
    E=0(都可读)
    0 ED W A

    ED=0:向高扩展
    ED=1:向低扩展

    W=0:不可写
    W=1:可写

    A=0:未访问
    A=1:已方问

    代码段:
    E=1(不可写,若需要对代码段进行写入操作,则必须使用别名技术)
    1 C  R A
    C=0:不是一致代码段(普通代码段)
    C=1:是一致代码段。

    R=0:不可读,只能执行
    R=1:可读可执行

    A=0:未访问
    A=1:已方问


    一个任务可使用的整个虚拟地址空间分为相等的两半,一半空间的描述符在全局描述符表中,另一半空间的描述符在局部描述符表中。由于全局和局部描述符表都可以包含多达8192个描述符,而每个描述符所描述的段的最大值可达4G字节,因此最大的虚拟地址空间可为:
    4GB*8192*2=64MMB=64TB


    选择子=>描述符=>段基地址,
    段基地址 + 偏移 = 线性地址。

    选择子中的描述符索引字段13位=>描述符表最多包含8192个描述符。

    由于每个描述符长8字节,屏蔽选择子低3位后的值就是选择子所指定的描述符在描述符表中的

    偏移,

    有一个特殊的选择子称为空(Null)选择子,它的Index=0,TI=0,而RPL字段可以为任意值。
    空选择子有特定的用途,当用空选择子进行存储访问时会引起异常。空选择子是特别定义的,
    它不对应于全局描述符表GDT中的第0个描述符,因此处理器中的第0个描述符总不被处理器访

    问,一般把它置成全0。但当TI=1时,Index为0的选择子不是空选择子,
    它指定了当前任务局部描述符表LDT中的第0个描述符。

  • 相关阅读:
    c++中的内存管理【转载】
    c++中dynamic_cast、static_cast、reinterpret_cast和const_cast作用
    c++中的顶层const和底层const
    c++赋值操作符需要确保自我赋值的安全性问题
    二分法查找
    Servlet基础总结
    java 正则表达式:有丶东西
    HTTP协议初步认识
    Java synchronized到底锁住的是什么?
    ECMA Script 6新特性之解构赋值
  • 原文地址:https://www.cnblogs.com/huqingyu/p/88052.html
Copyright © 2011-2022 走看看