搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ [求助]一个中断函数,为什么这样用?
标题:
[求助]一个中断函数,为什么这样用?
取消只看楼主
fgilt
等 级:
新手上路
帖 子:4
专家分:0
注 册:2006-6-21
楼主
问题点数:0 回复次数:2
[求助]一个中断函数,为什么这样用?
void irq3()
{
disable(); /*关中断*/
oldint1=inp(0x21); /*取0x21里内容*/
startint1=oldint1&0x07; /*取低3位*/
stopint1=oldint1|0xf8; /*取高5位*/
oldirq3=getvect(0x0B); /*保存原irq3中断内容*/
setvect(0x0B,newirq3); /*装入新irq3中断*/
outp(0x21,startint1); /*把低3位送入0x21*/
enable(); /*开中断*/
}
注释是我根据自己的理解加上去的,不知道是不是这样理解的?
能不能解释一下:
1.取0x21里的内容干什么用?这个地址里有什么东西?
2.为什么要单独取低3位和高5位?
3.把低3位送到0x21里干嘛?
搜索更多相关主题的帖子:
函数
2006-06-21 15:26
fgilt
等 级:
新手上路
帖 子:4
专家分:0
注 册:2006-6-21
第
2
楼
得分:0
我知道irq3是外部中断.
其他的还是不明白.
2006-06-21 20:09
fgilt
等 级:
新手上路
帖 子:4
专家分:0
注 册:2006-6-21
第
3
楼
得分:0
恩,谢谢提醒
2006-06-21 21:16
3
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-73864-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.598472 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved