64位系统下的IDTR与IDT表项
来源:互联网 发布:vb常用代码 编辑:程序博客网 时间:2024/05/17 01:11
已有许多资料介绍32位系统下的IDTR内容与IDT表项格式,本文专门对64位(IA-32e模式)下IDTR的内容和IDT表项格式进行介绍。
作为对比,首先回顾32位下的IDTR与IDT表项:
32位下,使用SIDT指令得到的IDTR内容为:
NameBitDescriptionLimit0..15以字节为单位的IDT长度Base16..47IDT起始32位地址IDT的表项格式为:NameBitDescriptionLowOffset0-15服务函数地址低16位selector16-31段选择子zero31-39填充0x00attr40-47属性HighOffset48-63服务函数地址高16位64位下,使用SIDT指令得到的IDTR内容为:NameBitDescriptionLimit2以字节为单位的IDT长度Offset8IDT起始64位地址IDT的表项格式为:NameBitDescriptionLowOffset0-15服务函数地址低16位selector16-31段选择子zero31-39填充0x00attr40-47属性MiddleOffset48-63服务函数地址中16位HighOffset64-95服务函数地址高32位zero96-127填充0x00
可以看出,64位下IDT的表项是基于32位进行的扩展,低64位没有变化,高64位的低32位用来扩展地址到64位,高64位的高32位填充0x00。
IDT表项的属性部分的内容没有变化,许多讲32位IDT格式的资料已经介绍过,可以搜到很多。
0 0
- 64位系统下的IDTR与IDT表项
- 读IDTR与GDTR的值
- 四,中断:中断程序(汇编和C语言)、idt、IDTR、8259A、8253以及发生中断时候的压栈细节和特权级保护
- linux 32位与64位系统下数据类型长度的区别
- 32位与64位系统下不同数据类型的大小
- 保护模式下三个重要的系统表——GDT、LDT和IDT
- 保护模式下三个重要的系统表——GDT、LDT和IDT
- 保护模式下三个重要的系统表——GDT、LDT和IDT
- 保护模式下三个重要的系统表——GDT、LDT和IDT
- 保护模式下三个重要的系统表——GDT、LDT和IDT
- 32位系统与64位系统的区别
- Win7 32位系统与64位系统的区别
- 64位系统下编译32位的汇编程序
- 32位的Windows系统与64位的虚拟机
- 64位系统在VS2010与Matlab混合编程的下的配置方法
- 在64位的系统下,Armadillo 和VS2013的安装与配置
- 浅谈内存、32位与64位系统的羁绊
- 64位与32位系统的区别
- Objecttive-C 创建多线程
- LeetCode 204:Count Primes
- 个推android客户端点击跳到指定activity
- 杭州10大经典路线
- Spring+监听器+Quartz集群(2)——quartz2.2.1创建表结构
- 64位系统下的IDTR与IDT表项
- Struts2中Bean配置属性详解
- 又见01背包(01背包题目3)
- Google 软件工程师的简历建议
- 欢迎使用CSDN-markdown编辑器
- [2015/05/08] System services not available to Activities before onCreate()
- ORA-12154: TNS:could not resolve the connect identifier specified解决办法
- Leetcode Remove Nth Node From End of List 删除链表倒数第n个元素
- warning: deprecated conversion from string constant to ‘char*’