首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

获取80号中断的中断描述符信息 出错解决方案

2012-02-28 
获取80号中断的中断描述符信息 出错一、为了得到中断描述符的信息 我这样写C/C++ codeunsigned char idtr[6

获取80号中断的中断描述符信息 出错
一、为了得到中断描述符的信息 我这样写

C/C++ code
unsigned char idtr[6] = {0};asm ( 37                 "sidt %0" 39                 :"=m"(idtr) 41                 );

打印出来的结果是 idt base 0xff21bc60 limit 0x7ff 
请高手分析一下结果是对的还是错的?

二、然后为了得到系统调用,即80号中断的中断描述符的信息 
C/C++ code
struct idt 16 { 17         unsigned short offset_low; 18         unsigned short sel; 19         unsigned char none,flags; 20         unsigned short offset_high; 21 }__attribute__ ((packed));struct idt idt;idt = (struct idt *)(*(unsigned int *)&idtr[2] + 8 * 0x80);

得到了80号中断的中断描述符信息,我打印idt的信息,就出错了,直接crash了
貌似idt的信息是错的 但是我不知道这样做哪儿错了?
请高手指点一下


[解决办法]
探讨
得到了80号中断的中断描述符信息,我打印idt的信息,就出错了,直接crash了

[解决办法]
你以为linux的中断描述表那么好弄的?

热点排行