操作码

 

指令

说明

0F 01 /2

LGDT m16&32

m 加载到 GDTR

0F 01 /3

LIDT m16&32

m 加载到 IDTR

说明

将源操作数中的值加载到全局描述符表格寄存器 (GDTR) 或中断描述符表格寄存器 (IDTR)。源操作数指定 6 字节内存位置,它包含全局描述符表格 (GDT) 或中断描述符表格 (IDT) 的基址(线性地址)与限制(表格大小,以字节计)。如果操作数大小属性是 32 位,则将 16 位限制(6 字节数据操作数的 2 个低位字节)与 32 位基址(数据操作数的 4 个高位字节)加载到寄存器。如果操作数大小属性是 16 位,则加载 16 位限制(2 个低位字节)与 24 位基址(第三、四、五字节)。这里,不使用操作数的高位字节,GDTR 或 IDTR 中基址的高位字节用零填充。

LGDT 与 LIDT 指令仅用在操作系统软件中;它们不用在应用程序中。在保护模式中,它们是仅有的能够直接加载线性地址(即,不是段相对地址)与限制的指令。它们通常在实地址模式中执行,以便处理器在切换到保护模式之前进行初始化。

如需有关存储 GDTR 与 IDTR 内容的详细信息,请参阅本章中的 SFENCE - 存储边界。

操作

IF instruction is LIDT
THEN
IF OperandSize 16
THEN
IDTR(Limit) SRC[0:15];
IDTR(Base) SRC[16:47] AND 00FFFFFFH;
ELSE (* 32-bit Operand Size *)
IDTR(Limit) SRC[0:15];
IDTR(Base) SRC[16:47];
FI;
ELSE (* instruction is LGDT *)
IF OperandSize 16
THEN
GDTR(Limit) SRC[0:15];
GDTR(Base) SRC[16:47] AND 00FFFFFFH;
ELSE (* 32-bit Operand Size *)
GDTR(Limit) SRC[0:15];
GDTR(Base) SRC[16:47];
FI; FI;

影响的标志

无。

保护模式异常

#UD - 如果源操作数不是内存位置。

#GP(0) - 如果当前特权级别不是 0。如果内存操作数有效地址超出 CS、DS、ES、FS 或 GS 段限制。如果 DS、ES、FS、或 GS 寄存器用于访问内存,并且它包含空的段选择器。

#SS(0) - 如果内存操作数有效地址超出 SS 段限制。

#PF(错误代码) - 如果发生页错误。

实地址模式异常

#UD - 如果源操作数不是内存位置。

#GP - 如果内存操作数有效地址超出 CS、DS、ES、FS 或 GS 段限制。

#SS - 如果内存操作数有效地址超出 SS 段限制。

虚 8086 模式异常

#GP(0) - 如果内存操作数有效地址超出 CS、DS、ES、FS 或 GS 段限制。

LGDT/LIDT - 加载全局/中断描述符表格寄存器相关推荐

  1. AssetBundle异步加载被中断的问题

    1)AssetBundle异步加载被中断的问题 ​2)LuaDLL.lua_pcall()自身产生开销问题 3)法线在手机渲染时出现的错误问题 4)UNITY_MATRIX_I_V 和Camera.m ...

  2. 延时加载全局的js和css

    需求 一般情况下,例如 echarts 这些库,我们可以直接将对应的js文件放到public文件夹当中,然后在全局的html文件利用script标签引入来使用(或者cdn或者node-module模块 ...

  3. webpack中的style-resources-loader加载全局css变量

    我们在项目中经常会遇到这种场景,抽离了一些公用的样式,并且还会定义一些变量,比如:variables , mixins , function,之前都是在每个样式文件中手动的@import导入.styl ...

  4. 百度地图api不能加载出地图只有格网的问题解决方法

    直接复制官方helloworld的demo,把ak改成了自己申请的ak. 我是直接打开的html文件,然后一直在报错! 火狐浏览器只有格网没有地图,chorme有地图但是也有error. 最后解决的方 ...

  5. 关于BIOS加载BOOT.S的经典解答

    摘录论坛问答(一) 问:我需要一个什么样的环境才能编译 0.11的内核 ,比如应安装什么版本的linux ,什么样的硬件比较好.需要在安装LINUX的机器上再安装什么软件包和编译工具. 答: 一般带有 ...

  6. ASM:《X86汇编语言-从实模式到保护模式》第13章:保护模式下内核的加载,程序的动态加载和执行...

    ★PART1:32位保护模式下内核简易模型 1. 内核的结构,功能和加载 每个内核的主引导程序都会有所不同,因为内核都会有不同的结构.有时候主引导程序的一些段和内核段是可以共用的(事实上加载完内核以后 ...

  7. Swift - 表格图片加载优化(拖动表格时不加载,停止时只加载当前页图片)

    列表的单元格中包含有图片在开发中很常见.通常我们可以直接在tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIn ...

  8. 006-spring cloud gateway-GatewayAutoConfiguration核心配置-GatewayProperties初始化加载、Route初始化加载...

    一.GatewayProperties 1.1.在GatewayAutoConfiguration中加载 在Spring-Cloud-Gateway初始化时,同时GatewayAutoConfigur ...

  9. 带你剖析WebGis的世界奥秘----Geojson数据加载(高级)

    前言:前两周我带你们分析了WebGis中关键步骤瓦片加载+点击事件(具体的看前两篇文章),下面呢,我带大家来看看Geojson的加载及其点击事件 Geojson数据解析 GeoJSON是一种对各种地理 ...

最新文章

  1. Java基础知识学习01-环境变量的配置、数据类型
  2. 火狐浏览器工具栏/折叠菜单怎么设置?火狐浏览器工具栏/折叠菜单定制教程
  3. 《Cisco安全防火墙服务模块(FWSM)解决方案》——1.4 利用包检测技术
  4. 【Kettle】第一篇,Pan 的使用
  5. 数据结构基础知识(2)
  6. TCP/IP参考模型入门
  7. thymealf 高级用法_mybatis基础系列(四)——关联查询、延迟加载、一级缓存与二级缓存...
  8. Linux:GCC安装与编译(详细)
  9. Java中级工程师面试题
  10. 【oracle】中文数字转阿拉伯数字
  11. 上位机plc编程入门_零基础自学plc编程怎么入门?
  12. 双网卡实现内外网同时上网
  13. mousetrap.js使用详解
  14. 广播与点播、单播与组播
  15. jquery的插件有哪些
  16. 开源论坛框架调研总结
  17. templets/default/index.htm Not Found! 图文教程 织梦程序的安装方法
  18. tp-link 拨号失败 服务器无响应,无线路由器拨号无响应怎么办
  19. 图解TCP/IP之半双工全双工通信
  20. html表格垂直居中的CSS代码,使用3行CSS代码使任何元素垂直居中

热门文章

  1. POJ2308连连看dfs+bfs+优化
  2. 【五线谱】符干朝向与连音线 ( 符干朝向 | 第三线以下符干朝上 | 第三线以上符干朝下 | 连音线 )
  3. 【Groovy】MOP 元对象协议与元编程 ( 使用 Groovy 元编程进行函数拦截 | 重写 MetaClass#invokeMethod 方法实现函数拦截 | 实现函数调用转发 )
  4. 【C 语言】字符串模型 ( strstr-while 模型 | 抽象函数模型 | 业务子函数接口定义要点 | 形参指针间接赋值 | 返回值状态 | 形参指针处理 | 形参指针判空 | 形参返回值 )
  5. 【EventBus】发布-订阅模式 ( EventBus 组成模块 | 观察者模式 )
  6. Android Studio NDK 代码 Source Insight调试 (NDK 目前开发方案 | NDK 编译 | 导入 so 库 | 项目编码转换)
  7. 台哥原创:java 扫雷源码
  8. 关于子网划分—为什么全0全1子网号不能使用
  9. oracle得到日期对应的星期
  10. dokuwiki导航的研究