x86的符号表

今天在看云计算的安全,有篇文章要用到IDT表,我知道IDT表是interrupt descriptor table.中断描述表。所有的系统中断都在里面,不过不知道这东西怎么用的。查了点资料。

The Interrupt Descriptor Table (IDT) is an array of 8 byte interrupt descriptors in memory devoted to specifying (at most) 256 interrupt service routines. The first 32 entries are reserved for processor exceptions, and any 16 of the remaining entries can be used for hardware interrupts. The rest are available for software interrupts.

IDT表有256个目录,前32个目录用于intel的硬件中断,剩余的用于软中断。

the struct of IDT entry is like:

 

struct IDTDescr{
   uint16 offset_1; // offset bits 0..15
   uint16 selector; // a code segment selector in GDT or LDT
   uint8 zero;      // unused, set to 0
   uint8 type_attr; // type and attributes, see below
   uint16 offset_2; // offset bits 16..31
};

 

其实关键的是selector,是要跳转的在GDT或LDT的地址,有了这个地址就可以取出内存中的代码了。

 

具体的我还有很多不懂,慢慢学习再来写。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值