标题:[求助]问一个关于中断的函数
只看楼主
yyt_3891
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-6-14
 问题点数:0 回复次数:2 
[求助]问一个关于中断的函数
void far interrupt NewInterupt9(void)
{
unsigned char ScanCode,temp;
ScanCode = inportb(0x60);
temp = inportb(0x61);
outportb(0x61,temp | 0x80);
outportb(0x61,temp & 0x7f);
if(ScanCode&0x80)
{
ScanCode&=0x7f;
keyState[ScanCode]=0;
}
else
{
keyState[ScanCode]=1;
keyPressed[ScanCode]=1;
}
outportb(0x20, 0x20);
}
这是一个关于调用中断控制键盘输入的函数, 但具体每一行是什么意思不懂,有那位给解释一下,还有关于中断函数的一些格式有什么也请不惜赐教...
搜索更多相关主题的帖子: 函数 
2007-07-18 12:54
一笔苍穹
Rank: 1
等 级:新手上路
帖 子:640
专家分:0
注 册:2006-5-25
得分:0 

这段代码并没有使用中断,而是一段中断服务例程(ISR),是用来接管原中断的。里面只涉及到了端口操作(outportb和inportb),具体往哪个端口里送什么数据,这都是有规定的,可以查查相关的标准文档。

2007-07-19 09:18
yyt_3891
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-6-14
得分:0 

老大谢谢了

2007-07-19 15:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-156257-1-1.html




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

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