【 tulaoshi.com - 编程语言 】
                             
                             //调用DOS下的中断。
  //DOS的时钟中断 int 21H  AH=0x1C  每秒产生18.2次中断
  //该程序时间间隔为550毫秒  可以由count的值算出。#include stdio.h
  #include dos.h
  #include conio.h#define INTR 0X1C    //0x1c为时钟中断#ifdef __cplusplus
    #define __CPPARGS ...
  #else
    #define __CPPARGS
  #endifvoid interrupt ( *oldhandler)(__CPPARGS);  int count=0;
  int a=0,b=0;
  strUCt time t;void interrupt handler(__CPPARGS)  //  执行DOS中断时调用的程序
  {
      count++;    if(count==10) 
      {    gettime(&t);
           b=t.ti_hund; 
           printf("(2)   %d",b);
           if(ba)printf("Delay %d  ms",((100-a)+b)*10);
           else printf("Delay %d  ms",(b-a)*10);}
  }int main(void)
  {    oldhandler = getvect(INTR); //取得原来的中断向量    setvect(INTR, handler);     //设置现在的中断向量
      gettime(&t);a=t.ti_hund;
      printf("(1)   %d",a);    while (count  11);         //循环等待。执行DOS的时钟中断    setvect(INTR, oldhandler);  //执行完毕,恢复原来的中断向量    return 0;
  }