下面是一個(gè)時(shí)鐘中斷服務(wù)程序,是我在一本書上看到的,程序中通過時(shí)鐘中斷來定時(shí)改變?nèi)肿兞縞ount的值,并將結(jié)果輸出到當(dāng)前文件夾下新建立的文本文件out.txt中。代碼如下。
/* Note:This is a interrupt service routine */
#include "stdio.h"
#include
#include
#define INTR 0X1C /*The clock tick interrupt*/
void interrupt (* oldhandler)(void);
int count = 0;
/*INTR中斷服務(wù)程序*/
void interrupt handler(void)
{
++count;
outportb(0x20, 0x20);
}
void main()
{
FILE *out;
out = fopen("out.txt", "w");
disable(); /*關(guān)中斷*/
/*保存INTR中斷的中斷向量*/
oldhandler = getvect(INTR);
/*將中斷服務(wù)程序的入口地址安裝在中斷向量表中*/
setvect(INTR, handler);
enable(); /*開中斷*/
/**等待中斷服務(wù)程序執(zhí)行20次*/
while(count < 20)
fprintf(out, "The count is %d/n", count);
fclose(out);
out = NULL;
getchar();
}