20楼#
发布于:2004-12-14 15:15
wxl_50685330大哥啊,革命还没有成功,兄弟正在努力:))
相关代码如下: _asm { int 73 } 大哥再帮我分析一下,这到底是咋回事儿呢?它为啥就不听话呢? 如果你有时间能帮兄弟试一下,那就更好了 :P :P :P 真是劳我“民”伤你的“才”啊,哈哈哈 [编辑 - 12/14/04 by wwei_wang] |
|
|
21楼#
发布于:2004-12-15 09:39
wxl_50685330大哥你怎么还不来啊?小弟简直是望眼欲穿哪 :P :P
[编辑 - 12/15/04 by wwei_wang] |
|
|
论坛版主
|
22楼#
发布于:2004-12-16 13:21
哈哈,稳住稳住,昨天革命工作如火如荼,没搞赢来:)))
没有搞定?怎么没搞定法?isr没挂上去?还是挂上了用int 73得不到执行? 你确保中断服务挂上了是怎么确定的?你可以查中断向量表,然后根据入口去反汇编入口地址的代码来看看是不是真的把isr挂上去了。首先解决这个问题,然后其他的就好说了。 喔,忘了一个重要的事情,286后的保护模式是使用中断描述符表的,中断向量表可能不是从物理地址0开始的喔。 |
|
论坛版主
|
23楼#
发布于:2004-12-16 13:24
:)还想起一个事,在用户模式不能直接进中断服务,保护模式的有些麻烦喔,有兴趣可以查查,用中断门,要不你就直接用硬件中断来触发试试
|
|
24楼#
发布于:2004-12-16 18:47
大哥你终于来了,兄弟我眼睛都蓝了:)))
(1)ISR我是用LoadIntChainHandler函数挂的,肯定挂上了,而且isr能进去。:)因为我曾经用一个共享irq测过。但现在我要驱动的硬件还没有做好。 (2)我在OEMIoControl里面单步执行到int 9 或 int 73 时都产生异常。 (3)“在用户模式不能直接进中断服务,保护模式的有些麻烦喔,有兴趣可以查查,用中断门”。大哥,在保护模式下模拟硬件中断是否可行? (4)悄悄地问一个很菜的问题,“中断门”是什么东东?怎么操作啊?还请大哥明示。 (5)另外前面你说“要不你就直接用硬件中断来触发试试”,何意? 我的妈呀,问了这么多问题啊,真是太罗嗦了,我都无法原谅我自己:))) 大哥,请你原谅我的死缠烂打P :P :P :P :P。 |
|
|
论坛版主
|
25楼#
发布于:2004-12-22 16:14
你娃都认识到问题的严重性了还不赶快找根绳子和一棵树,不会还要问我接下来怎么做了吧:)))))
保护模式低下进ISR是要有权限的,产生异常我觉得是执行权限在RING 3,中断门是保护模式用来进中断服务的,时间太久了,只有点点印象了,而且当时没有实际实践:(,实在需要去买本书来看看。保护模式低下用汇编写东西有点儿考手艺喔:),要花些时间。要不换个方式? 我说直接用中断线来做是说你把中断线上弄个脉冲(这个不用我说怎么弄吧:)) ),看ISR可以打印信息不,对了,你给degyhy123说说用LoadIntChainHandler挂ISR的问题吧,他说他搞不定,你娃是专家了三:) |
|
论坛版主
|
26楼#
发布于:2004-12-23 14:31
昨天找了半天,才翻出来一本书(:)),虽然讲的不详细,但使用中断门对软中断的调用是一样的,虽然中断向量表的结构变了,但用hookinterrupt的话应该帮你做相应设置
对了,你确定一下cs的cpl(段寄存器cs的低两位)是多少,应该是0才能用int n指令。 |
|
27楼#
发布于:2004-12-27 09:39
谢谢大哥的指点,看样子,小弟已经把大哥成功地引上了歧途! :P
|
|
|
论坛版主
|
28楼#
发布于:2004-12-27 13:20
条条大路通罗马,那我就绕道了喔:)))
|
|
上一页
下一页