注册 登录
编程论坛 C图形专区

[求助]问一个关于中断的函数

yyt_3891 发布于 2007-07-18 12:54, 912 次点击
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);
}
这是一个关于调用中断控制键盘输入的函数, 但具体每一行是什么意思不懂,有那位给解释一下,还有关于中断函数的一些格式有什么也请不惜赐教...
2 回复
#2
一笔苍穹2007-07-19 09:18

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

#3
yyt_38912007-07-19 15:03

老大谢谢了

1