No.107148 作者:darkrainbow 邮件:rainbow_wu18@163.com ID:81248 登陆:3次 文章数:4篇 最后登陆IP:61.143.62.242 最后登陆:2007/8/22 11:52:03 注册:2007/6/14 12:48:52 财富:121 发帖时间:2007/6/14 12:50:14 发贴者IP:61.143.62.242 标题:darkrainbow:中断问题[求助] 摘要:No.107148中断问题[求助] 今天小弟我看到了中断这一章了, 但是到现在还搞不清楚SWI的一些地方, 特请教各位高手, 谢谢! 问题就是在加载中断这个地方 unsigned Install_Handler(unsigned routine, unsigned *vector) { vec = (routine - (unsigned)vector -8 ) > > 2;//问题1:我知道这里是要求出定义的中断的地址偏移量, 但是减去0x08就可以了, 但是为什么还要减去8, 而且还要向右移两位?? if(vec & 0xff000000) { //greater than 32MBytes return ; } vec = 0xea000000 | vec; //问题2:这里得到了偏移的地址后为什么要跟0xea000000相或?? *vector = vec; return (old_vec); } 就这2个问题, 希望大家能帮帮忙, 困惑之中! ......
>>返回讨论的主题
|