home *** CD-ROM | disk | FTP | other *** search
/ PC-Blue - MS DOS Public Domain Library / PC-Blue MS-DOS Public Domain Library - NYACC.iso / vol242 / clockset.c < prev    next >
Encoding:
C/C++ Source or Header  |  1986-12-01  |  1.0 KB  |  48 lines

  1. #include    <dos.h>
  2. char    *copyright=
  3. "(C) 1986, Copyright by Ross M. Greenberg, Not for Commercial Sale.";
  4.  
  5. int    month_tab[13]    =    {0,31,28,31,30,31,30,31,31,30,31,30,31};
  6.  
  7.  
  8. main()
  9. {
  10. union    REGS    regset;
  11. unsigned       year,
  12.            month = 1,
  13.            day;
  14.  
  15.     printf("%s", copyright);
  16.  
  17.     regset.x.ax = 0xfe00;
  18.     if    (int86(0x1a, ®set, ®set) & 0x01)
  19.     {
  20.         printf("Can't get time\n");
  21.         exit(1);
  22.     }
  23.  
  24.     regset.h.ah = 0x2d;
  25.     day = regset.x.bx;
  26.     if    (intdos(®set, ®set) & 0x01)
  27.     {
  28.         printf("Can't set time\n");
  29.         exit(1);
  30.     }
  31.  
  32.     year = day/365;
  33.     day -= (year * 365);
  34.     while (day > month_tab[month])
  35.         day -= month_tab[month++];
  36.  
  37.     regset.h.dl = day;
  38.     regset.h.dh = month;
  39.     regset.x.cx = year + 1984;
  40.     regset.x.ax = 0x2b00;
  41.     if    (intdos(®set, ®set) & 0x01)
  42.     {
  43.         printf("Can't set date\n");
  44.         exit(1);
  45.     }
  46.      printf("\nDate and time set from ATT Hardware Clock...\n");
  47. }
  48.