- #include <stdio.h>
- #include <stdlib.h>
- #include <dos.h>
-
- void main (void)
- {
- struct CMOS {
- unsigned char seconde_c;
- unsigned char alarm_second;
- unsigned char minute_c;
- unsigned char alarm_minute;
- unsigned char heure_c;
- unsigned char alarm_hour;
- unsigned char jour_semaine;
- unsigned char jour_c;
- unsigned char mois_c;
- unsigned char annee_c;
- unsigned char statut_registres[4];
- unsigned char diagnostic_statut;
- unsigned char shutdown_code;
- unsigned char types_disque;
- unsigned char reserve_x;
- unsigned char type_disque_1;
- unsigned char reserve;
- unsigned char equipment;
- unsigned char lo_mem_base;
- unsigned char hi_mem_base;
- unsigned char hi_exp_base;
- unsigned char lo_exp_base;
- unsigned char type_disque_0;
- unsigned char disquette_1;
- unsigned char reserve_2[19];
- unsigned char hi_check_sum;
- unsigned char lo_check_sum;
- unsigned char lo_actual_exp;
- unsigned char hi_actual_exp;
- unsigned char century;
- unsigned char information;
- unsigned char reserve3[12];
- } cmos;
-
- char i;
- char *pointeur;
- char byte;
-
- pointeur = (char *) &cmos;
- for (i = 0; i < 0x34; i++)
- {
- outportb(0x70, i);
- byte = inportb(0x71);
- *pointeur++ = byte;
- }
- printf("Date système %d/%d/%d\n", cmos.jour_c,
- cmos.mois_c, cmos.annee_c);
- printf("Heure système %d:%d:%d\n", cmos.heure_c,
- cmos.minute_c, cmos.seconde_c);
- printf("Type du disque dur %d\n", cmos.type_disque_0);
- }
-
#include <stdio.h>
#include <stdlib.h>
#include <dos.h>
void main (void)
{
struct CMOS {
unsigned char seconde_c;
unsigned char alarm_second;
unsigned char minute_c;
unsigned char alarm_minute;
unsigned char heure_c;
unsigned char alarm_hour;
unsigned char jour_semaine;
unsigned char jour_c;
unsigned char mois_c;
unsigned char annee_c;
unsigned char statut_registres[4];
unsigned char diagnostic_statut;
unsigned char shutdown_code;
unsigned char types_disque;
unsigned char reserve_x;
unsigned char type_disque_1;
unsigned char reserve;
unsigned char equipment;
unsigned char lo_mem_base;
unsigned char hi_mem_base;
unsigned char hi_exp_base;
unsigned char lo_exp_base;
unsigned char type_disque_0;
unsigned char disquette_1;
unsigned char reserve_2[19];
unsigned char hi_check_sum;
unsigned char lo_check_sum;
unsigned char lo_actual_exp;
unsigned char hi_actual_exp;
unsigned char century;
unsigned char information;
unsigned char reserve3[12];
} cmos;
char i;
char *pointeur;
char byte;
pointeur = (char *) &cmos;
for (i = 0; i < 0x34; i++)
{
outportb(0x70, i);
byte = inportb(0x71);
*pointeur++ = byte;
}
printf("Date système %d/%d/%d\n", cmos.jour_c,
cmos.mois_c, cmos.annee_c);
printf("Heure système %d:%d:%d\n", cmos.heure_c,
cmos.minute_c, cmos.seconde_c);
printf("Type du disque dur %d\n", cmos.type_disque_0);
}