分类: C/C++
2006-01-20 19:01:32
#include
#include
#include
#include
#include
#define KEY_ESC 0x11b
#define TIMER 0x1c
int Counter=0;
void interrupt ( *oh)();
void interrupt nh()
{
Counter++;
oh();
}
void StartTimer(void interrupt (*IP)())
{
oh=getvect(TIMER);
disable();
setvect(TIMER,IP);
enable();
}
void CloseTimer()
{
disable();
setvect(TIMER,oh);
enable();
}
void main(void)
{
int key,time1=0,time=0,h1=0,h2=0,m1=0,m2=0;
StartTimer(nh);
for (;;)
{
if (bioskey(1))
{
key=bioskey(0);
if (key==KEY_ESC)
{
break;
}
}
if (Counter>18)
{
Counter=0;
time++;
gotoxy(15,15);
if(time==10)
{time1++;
time=0;
} if(time1==6)
{
m2++;
time1=0;
}
if(m2==10)
{m1++;
m2=0;
}
if(m1==6)
{h2++;
m1=0;
}
printf('%d%d:%d%d:%d%d\n',h1,h2,m1,m2,time1,time);
if (time==11)
{
break;
}
}
}
CloseTimer();
}
虽然是在tc2下编写的代码,比较明了,从中能联想到不少的东西!
运行效果如图: