huangzq26
驱动牛犊
驱动牛犊
  • 注册日期2002-08-20
  • 最后登录2004-05-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1760回复:8

求教 DOS 下 ISA 接口卡的中断编程问题! 谢谢!

楼主#
更多 发布于:2003-10-31 16:33
    不好意思,很古老的问题,望多多指点!如果有合适的书,也请指点一下!
    谢谢!

    现在,我在编写了 8259 的代码后,才能够开启我做的ISA卡的驱动。操作在退出 WIN98 系统下的 DOS 模式。

arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2003-10-31 17:13
什么问题?
没有看懂。
huangzq26
驱动牛犊
驱动牛犊
  • 注册日期2002-08-20
  • 最后登录2004-05-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-10-31 19:34
    问题是: 在DOS程序下不能进入中断IRQ,即使IRQ引脚一直保持为高电平。

     后来,增加了控制主板中断控制器8259的指令,才可以使 IRQ3、IRQ4、IRQ7 实现正常进入中断! 但其余 IRQ 引脚仍然不行!

    请多多指教!谢谢!
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2003-10-31 20:18
是否没有enable 8259对应的中断?好像是IMR寄存器。

example:

outp(0x21, inp(0x21) & 0xfb);     // enable 8259-1 IRQ2

outp(0xa1, inp(0xa1) & (~btIRQ)); // enable 8259-2 IRQ
huangzq26
驱动牛犊
驱动牛犊
  • 注册日期2002-08-20
  • 最后登录2004-05-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-11-02 01:16
    DOS 系统没有对 IRQ 进行初始化设置吗?

    我的正常理解,认为 IO.sys 中已该有相关设置。
  
    谢谢!
grant
驱动老牛
驱动老牛
  • 注册日期2001-05-14
  • 最后登录2007-04-13
  • 粉丝0
  • 关注0
  • 积分350分
  • 威望35点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-11-03 10:33
   DOS 系统没有对 IRQ 进行初始化设置吗?

    我的正常理解,认为 IO.sys 中已该有相关设置。
  
    谢谢!


DOS中没有处理,
要程序中把相应的IMR放开的。
2000正解。
助人乃快乐之本 有人给分就更快乐了 :-)
grant
驱动老牛
驱动老牛
  • 注册日期2001-05-14
  • 最后登录2007-04-13
  • 粉丝0
  • 关注0
  • 积分350分
  • 威望35点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-11-03 10:35
   如果有合适的书,也请指点一下!
 

很多硬件的书都写过。
我手头参考的一本是Intel系列微处理器结构、编程和接口技术大全,真的是很全的。机械工业出版社。
我这果是很久以前买的,不过前一阵子逛书店时看到有新版。
助人乃快乐之本 有人给分就更快乐了 :-)
zjh322100
驱动牛犊
驱动牛犊
  • 注册日期2003-10-26
  • 最后登录2003-12-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-11-03 15:38
把8259的IMR中相应位使能
在用enable()打开中断    这是C语言上用的
不用中断的时候用disable()关闭
新手
huangzq26
驱动牛犊
驱动牛犊
  • 注册日期2002-08-20
  • 最后登录2004-05-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-11-06 17:44
谢谢!明白许多了!
游客

返回顶部