有一个关于中断的问题(在sevect函数处总是编译出错),求大神指导呀!!!
#include <dos.h>#include <stdio.h>
#ifdef __cplusplus
#define __ARGU ...
#else
#define __ARGU
#endif 上面这些能不能省略,这些有什么用处呢?特别是对比较小的程序来说。
void interrupt int60 (_ARGU) /*中断服务函数*/
{
puts("This is an example");
}
void install (void interrupt (*fadd)(__ARGU),int num) /*安装中断*/
{
disable(); /*关闭中断*/
setvect(num, fadd); /*设置中断*/(我的主要疑惑就是在这:编译提示错误:con't convert void (interrupt far *)() to void (interrupt far *)(...)
enable(); /*开放中断*/ 还有就是:type mismatch in parameter _isr in call to setvect (int ,void (interrupt far *)(...))
}: 还会有一个警告说是:parameter fadd is never used.但是我认为自己已经用了呀!
void main()
{
install (int60,0x60);/*将int60函数安装到0x60中断*/
geninterrupt (0x60); /*人为产生0x60号中断*/
}
因为需要编一个挺大的程序,很急的,希望的看到的大神们,给解决一下,或者推荐一些相关的网站或是书籍都行!!!