📄 timer.c
字号:
#include "dos.h"
#include "bios.h"
#include "stdio.h"
#include "time.h"
#include "stdlib.h"
void interrupt (far *old)();
void interrupt far handle_timer();
unsigned long timer_i=0,timer_a=0;
unsigned long count = 0;
void T8254_SetTimer(int number)
{
outportb(0x43,0x36);
outportb(0x40,0x9A);
outportb(0x40,0x2E);
timer_i=0;
old=getvect(0x08);
setvect(0x08,handle_timer);
while(timer_i<number*100);
printf("%d\n",count);
// printf("timer_i=%u\n",timer_i);
// printf("timer_t=%u\n",timer_t);
setvect(0x08,old);
outportb(0x43,0x36);
outportb(0x40,0);
outportb(0x40,0);
}
void interrupt far handle_timer()
{
timer_i++;
timer_a++;
// puts("c");
count++;
if(timer_a>=5494)
{
timer_a=timer_a-5494;
old();
}
else
outportb(0x20,0x20);
}
void main(int agrc,char *agrv[])
{
int number=0;
time_t time_start,time_end;
if(agrc==2) number=atol(agrv[1]);
else number=1;
time(&time_start);
printf("time_start:%d\n",time_start);
T8254_SetTimer(number);
time(&time_end);
printf("\ntime_end:%d\n",time_end);
printf("%d",time_end-time_start);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -