C语言写中断,有经验的进来看看
#include "dos.h"
#include "stdio.h"
#include "conio.h"
void far interrupt ( *old_dpram)();
void far interrupt dpram();
void enable_int()
{
unsigned char temp;
old_dpram =getvect(0x0a); //get old interrupt vector
disable();
temp =inport(0x21) &0xf7; //open IRQ2 interrupt
outport(0x21,temp);
setvect(0x0a,dpram); //point vector to new interrupt program: dpram()
enable();
}
void disalbe_int()
{
unsigned char temp;
disable();
temp =inport(0x21) |0x04; //close IRQ2 interrupt
outport(0x21,temp);
enable();
setvect(0x0a,old_dpram); //restore interrupt vector to old program
}
void far interrupt dpram()
{
unsigned char i;
unsigned char da[10];
temp =inport(0xfe2f);
for(i =0; i<10; i++)
{
da[i] =inportb(0x220);
}
}
void main()
{
enable_int();
}
在编译的时候通不过,停在getvect()这个函数这里,我找不出来是什么原因,有知道的吗?请帮个忙,谢谢!