关于中断函数的问题
下面打问号的那一行的(*oldhandler)()函数在void interrupt newhandler()中有什么作用啊,为什么去掉就不行呢。
#include <stdio.h>
#include <dos.h>
#include <conio.h>
#define AAA 0x09 /* 键盘I/O中断的中断号 */
int TimerCounter=0;
/* 指向原来时钟中断处理过程入口的中断处理函数指针(句柄) */
void interrupt ( *oldhandler )();
/* 新的键盘中断处理函数 */
void interrupt newhandler()
{
TimerCounter++;
(*oldhandler)();/* ???此函数在此处为何不能去除 */
}
void main(void)
{
int key;
oldhandler = getvect( AAA );
disable();
setvect( AAA, newhandler );
enable();
while(1)
{
if ( TimerCounter >= 10 )
{
break;
}
}
disable();
setvect( AAA, oldhandler );
enable();
}