x86保护模式 任务状态段和控制门
x86保护模式 任务状态段和控制门

与存储段描述符类似 区别位属性字节中的描述符类型为DT的值

由图中可知 仅仅只有类型编码为2 1 3 9 和B的描述符才是真正的系统段描述符

仅仅是描述符偏移5的字节一致 也由此字节标识门描述符和系统段描述符 该字节内的p和dpl的意义与其他描述符中的意义相同
- GATE STRUC ;门结构类型定义
- OFFSETL DW 0 ;32位偏移的低16位
- SELECTOR DW 0 ;选择子
- DCOUNT DB 0 ;双字计数字段
- GTYPE DB 0 ;类型
- OFFSETH DW 0 ;32位偏移的高16位
- GATE ENDS

104个字节构成的基本格式 不可改变 可以分为链接字段 内层堆栈指针区 地址映射区 寄存器保存区 和其他字段等五个区域
- ;----------------------------------------------------------------------------
- ;任务状态段结构类型定义
- ;----------------------------------------------------------------------------
- TSS STRUC
- TRLink DW 0 ;链接字段
- DW 0 ;不使用,置为0
- TRESP0 DD 0 ;0级堆栈指针
- TRSS0 DW 0 ;0级堆栈段寄存器
- DW 0 ;不使用,置为0
- TRESP1 DD 0 ;1级堆栈指针
- TRSS1 DW 0 ;1级堆栈段寄存器
- DW 0 ;不使用,置为0
- TRESP2 DD 0 ;2级堆栈指针
- TRSS2 DW 0 ;2级堆栈段寄存器
- DW 0 ;不使用,置为0
- TRCR3 DD 0 ;CR3
- TREIP DD 0 ;EIP
- TREFlag DD 0 ;EFLAGS
- TREAX DD 0 ;EAX
- TRECX DD 0 ;ECX
- TREDX DD 0 ;EDX
- TREBX DD 0 ;EBX
- TRESP DD 0 ;ESP
- TREBP DD 0 ;EBP
- TRESI DD 0 ;ESI
- TREDI DD 0 ;EDI
- TRES DW 0 ;ES
- DW 0 ;不使用,置为0
- TRCS DW 0 ;CS
- DW 0 ;不使用,置为0
- TRSS DW 0 ;SS
- DW 0 ;不使用,置为0
- TRDS DW 0 ;DS
- DW 0 ;不使用,置为0
- TRFS DW 0 ;FS
- DW 0 ;不使用,置为0
- TRGS DW 0 ;GS
- DW 0 ;不使用,置为0
- TRLDTR DW 0 ;LDTR
- DW 0 ;不使用,置为0
- TRTrip DW 0 ;调试陷阱标志(只用位0)
- TRIOMap DW $+2 ;指向I/O许可位图区的段内偏移
- TSS ENDS
x86保护模式 任务状态段和控制门的更多相关文章
- x86 保护模式 十 分页管理机制
x86 保护模式 十 分页管理机制 8.386开始支持分页管理机制 段机制实现虚拟地址到线性地址的转换,分页机制实现线性地址到物理地址的转换.如果不启用分页,那么线性就是物理地址 一 分页管 ...
- X86保护模式 八操作系统类指令
X86保护模式 八操作系统类指令 通常在操作系统代码中使用,应用程序中不应用这些指令 指令分为三种:实模式指令,任何权级下使用的指令.实模式权级0下可执行的指令和仅在保护模式下执行的指令 一 实模 ...
- x86保护模式-七中断和异常
x86保护模式-七中断和异常 386相比较之前的cpu 增强了中断处理能力 并且引入了 异常概念 一 80386的中断和异常 为了支持多任务和虚拟存储器等功能,386把外部中断称为中断 ...
- x86保护模式 实模式与保护模式切换实例
x86保护模式 实模式与保护模式切换实例 实例一 逻辑功能 以十六进制数的形式显示从内存地址110000h开始的256个字节的值 实现步骤: 1 切换保护方式的准备 2. 切换到保 ...
- x86保护模式 控制寄存器和系统地址寄存器
控制寄存器和系统地址寄存器 控制寄存器 crx cr0 指示cpu工作方式的控制位 包含启用和禁止分页管理机制的控制位 包含控制浮点协处理器操作的控制位 注意必须为0的位 cr2和c ...
- x86保护模式-六 控制转移
控制转移可以分为两大类 :同一任务内的控制转移 和 任务间的控制转移(任务切换) 同一个任务内的控制转移可以分为段内转移 .特权级不变的段间转移和特权级改变的段间转移 段内转移与实模式相同 ...
- x86保护模式 二 分段管理机制
分段管理机制 段选择子和偏移地址的二维虚拟地址转换为一维的线性地址 一 段定义和虚拟地址到线性地址的转换 三个参数定义段:段基地址 段界限 和段属性 同时也是段描述符的结构 段基地址为 ...
- ASM:《X86汇编语言-从实模式到保护模式》第10章:32位x86处理器的编程架构
★PART1:32位的x86处理器执行方式和架构 1. 寄存器的拓展(IA-32) 从80386开始,处理器内的寄存器从16位拓展到32位,命名其实就是在前面加上e(Extend)就好了,8个通用寄存 ...
- 【译】x86程序员手册39-10.3切换到保护模式
10.3 Switching to Protected Mode 切换到保护模式 Setting the PE bit of the MSW in CR0 causes the 80386 to b ...
随机推荐
- html 手机端click 事件去掉黑色阴影效果
添加css样式 html{-webkit-text-size-adjust: 100%;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);} 1. -web ...
- TitleBar(标题栏)的使用
github地址:https://github.com/buhuiming/BHMAndroid 使用compile 'com.bhm.sdk.bhmlibrary:BHMLibrary:1.1.2' ...
- linux 下node升级
npm install -g n n stable 安装的路径: cd /usr/local/n/versions/node/10.15.3 修改环境变量 cd /etc sudo vim profi ...
- CSS布局之-强大的负边距
css中的负边距(negative margin)是布局中的一个常用技巧,只要运用得合理常常会有意想不到的效果.很多特殊的css布局方法都依赖于负边距,所以掌握它的用法对于前端的同学来说,那是必须的. ...
- Xamarin.IOS binding库编译失败的解决办法
报错:目标框架 Xamarin.iOS,Version=v1.0 未找到 复制 C:\Program Files (x86)\Microsoft Visual Studio\2017\Professi ...
- 强化学习_PolicyGradient(策略梯度)_代码解析
使用策略梯度解决离散action space问题. 一.导入包,定义hyper parameter import gym import tensorflow as tf import numpy as ...
- 基本编程题 --python
1.让Python帮你随机选一个饮品吧! import random listC = ['加多宝', '雪碧', '可乐', '勇闯天涯', '椰子汁'] print(random.choices(l ...
- delphi win7 and high path
Close DelphiLocate bordbk120N.dll (C:\Program Files (x86)\CodeGear\RAD Studio\6.0\bin)Make a backup ...
- windows搭建gcc开发环境(msys2) objdump
前言 可能你并不太了解msys2,但是作为一个程序员,你一定知道mingw,而msys2就集成了mingw,同时msys2还有一些其他的特性,例如包管理器等. msys2可以在windows下搭建一个 ...
- shell脚本调试打印日志问题
shell脚本调试打印日志问题 1. 需求 我们在编写脚本的时候,有时候需要做调试,便于我们定位问题,有时候等脚本上线之后,我们需要保留脚本执行过程中的记录.便于我们在出问题的时候,定位问题. 2. ...