阅读:1760回复:8
求教 DOS 下 ISA 接口卡的中断编程问题! 谢谢!
不好意思,很古老的问题,望多多指点!如果有合适的书,也请指点一下!
谢谢! 现在,我在编写了 8259 的代码后,才能够开启我做的ISA卡的驱动。操作在退出 WIN98 系统下的 DOS 模式。 |
|
沙发#
发布于:2003-10-31 17:13
什么问题?
没有看懂。 |
|
板凳#
发布于:2003-10-31 19:34
问题是: 在DOS程序下不能进入中断IRQ,即使IRQ引脚一直保持为高电平。
后来,增加了控制主板中断控制器8259的指令,才可以使 IRQ3、IRQ4、IRQ7 实现正常进入中断! 但其余 IRQ 引脚仍然不行! 请多多指教!谢谢! |
|
地板#
发布于: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 |
|
地下室#
发布于:2003-11-02 01:16
DOS 系统没有对 IRQ 进行初始化设置吗?
我的正常理解,认为 IO.sys 中已该有相关设置。 谢谢! |
|
5楼#
发布于:2003-11-03 10:33
DOS 系统没有对 IRQ 进行初始化设置吗? DOS中没有处理, 要程序中把相应的IMR放开的。 2000正解。 |
|
|
6楼#
发布于:2003-11-03 10:35
如果有合适的书,也请指点一下! 很多硬件的书都写过。 我手头参考的一本是Intel系列微处理器结构、编程和接口技术大全,真的是很全的。机械工业出版社。 我这果是很久以前买的,不过前一阵子逛书店时看到有新版。 |
|
|
7楼#
发布于:2003-11-03 15:38
把8259的IMR中相应位使能
在用enable()打开中断 这是C语言上用的 不用中断的时候用disable()关闭 |
|
|
8楼#
发布于:2003-11-06 17:44
谢谢!明白许多了!
|
|