| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 671 人关注过本帖
标题:[求助]一个中断函数,为什么这样用?
取消只看楼主 加入收藏
fgilt
Rank: 1
等 级:新手上路
帖 子: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
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-6-21
收藏
得分:0 

我知道irq3是外部中断.
其他的还是不明白.

2006-06-21 20:09
fgilt
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-6-21
收藏
得分:0 
恩,谢谢提醒
2006-06-21 21:16
快速回复:[求助]一个中断函数,为什么这样用?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027089 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved