SHOWCMOS.C
资源名称:C.rar [点击查看]
上传用户:qq5388545
上传日期:2022-07-04
资源大小:29849k
文件大小:2k
源码类别:

界面编程

开发平台:

C/C++

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <dos.h>
  4. void main (void)
  5.  {
  6.    struct CMOS {
  7.      unsigned char current_second;
  8.      unsigned char alarm_second;
  9.      unsigned char current_minute;
  10.      unsigned char alarm_minute;
  11.      unsigned char current_hour;
  12.      unsigned char alarm_hour;
  13.      unsigned char current_day_of_week;
  14.      unsigned char current_day;
  15.      unsigned char current_month;
  16.      unsigned char current_year;
  17.      unsigned char status_registers[4];
  18.      unsigned char diagnostic_status;
  19.      unsigned char shutdown_code;
  20.      unsigned char drive_types;
  21.      unsigned char reserved_x;
  22.      unsigned char disk_1_type;
  23.      unsigned char reserved;
  24.      unsigned char equipment;
  25.      unsigned char lo_mem_base;
  26.      unsigned char hi_mem_base;
  27.      unsigned char hi_exp_base;
  28.      unsigned char lo_exp_base;
  29.      unsigned char fdisk_0_type;
  30.      unsigned char fdisk_1_type;
  31.      unsigned char reserved_2[19];
  32.      unsigned char hi_check_sum;
  33.      unsigned char lo_check_sum;
  34.      unsigned char lo_actual_exp;
  35.      unsigned char hi_actual_exp;
  36.      unsigned char century;
  37.      unsigned char information;
  38.      unsigned char reserved3[12];
  39.    } cmos;
  40.    char i;
  41.    char *pointer;
  42.    char byte;
  43.    pointer = (char *) &cmos;
  44.    for (i = 0; i < 0x34; i++)
  45.     {
  46.       outportb(0x70, i);
  47.       byte = inportb(0x71);         
  48.       *pointer++ = byte;
  49.     }
  50.    printf("Current date %d/%d/%dn", cmos.current_month,
  51.      cmos.current_day, cmos.current_year);
  52.    printf("Current time %d:%d:%dn", cmos.current_hour,
  53.      cmos.current_minute, cmos.current_second);
  54.    printf("Hard disk type %dn", cmos.fdisk_0_type);
  55.   }