⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clock.c

📁 Many C samples. It is a good sample for students to learn C language.
💻 C
字号:
/* Chuong trinh thuong tru hien dong ho o goc phai phia tren man hinh */
#include <dos.h>
#include <conio.h>

#define INTR 0x1C
#define ATTR 0x7900

#ifdef __cplusplus
	#define __CPPARGS ...
#else
	#define __CPPARGS
#endif

extern unsigned _heaplen = 1024;
extern unsigned _stklen  = 512;
void interrupt ( *oldhandler)(__CPPARGS);
typedef unsigned int (far *s_arrayptr);
struct time t;

void interrupt handler(__CPPARGS)
{
  s_arrayptr screen[80];
  static int count,ticker;
  int tam;
  screen[0] = (s_arrayptr) MK_FP(0xB800,0);
  count++;

  if (ticker==0)
  {
    t.ti_sec++;
    ticker=( ((count%5)==0)?19:18);
    if (t.ti_sec==60)
	  {
	    t.ti_sec=0;
	    t.ti_min++;
	  }
    if (t.ti_min==60)
	  {
	    t.ti_min=0;
	    t.ti_hour++;
	  }
    if (t.ti_hour==24)
      t.ti_hour=0;

    screen[0][72] = t.ti_hour/10 + '0' + ATTR;
    screen[0][73] = t.ti_hour%10 + '0' + ATTR;
    screen[0][74] = ':' + ATTR;
    screen[0][75] = t.ti_min/10 + '0' + ATTR;
    screen[0][76] = t.ti_min%10 + '0' + ATTR;
    screen[0][77] = ':' + ATTR;
    screen[0][78] = t.ti_sec/10 + '0' + ATTR;
    screen[0][79] = t.ti_sec%10 + '0' + ATTR;
  }
  ticker--;
  oldhandler();
}

int main(void)
{
  gettime(&t);
  oldhandler = getvect(INTR);
  setvect(INTR, handler);
  getch();
  setvect(INTR,oldhandler);
  keep(0, (_SS + (_SP/16) - _psp));
  return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -