Output of c Program to get and set system time and date |
- Get System time
- Set System time
- Get System Date
- Set System Date
To Get system date:
- Call interrupt 0x21 (hexadecimal)
- AH (higher byte of accumulator) should be made equal to 2A (hex) before calling interrupt
Output:
- day in DL
- Month in DH
- Year in CX
To set System Date:
- Call interrupt 0x21 (hexadecimal)
- AH (higher byte of accumulator) should be made equal to 2B (hex) before calling interrupt
- Before Calling interrupt, store:- Year in CX
- Month in DH
- Day in DL
To Get system time:
- Call interrupt 0x21 (hexadecimal)
- AH (higher byte of accumulator) should be made equal to 2C (hex) before calling interrupt
Output:
- Hours in CH
- Minutes in CL
- Seconds in DH
- 1/100 th of a second in DL
To set System Time:
- Call interrupt 0x21 (hexadecimal)- AH (higher byte of accumulator) should be made equal to 2D (hex) before calling interrupt- Before Calling interrupt, store:
- Hour in CH
- Minutes in CL
- Seconds in DH
- 1/100 th of second in DL
#include<stdio.h> #include<dos.h> #include<conio.h> void main() { int day,month,year,tflag=0,dflag=0,hr,min,sec; union REGS inreg,outreg; DISDATE:printf("\nCurrent date:\n"); inreg.h.ah=0x2a; int86(0x21,&inreg,&outreg); printf("%d-%d-%d ",outreg.h.dl,outreg.h.dh,outreg.x.cx); switch(outreg.h.al) { case 0:printf("Sunday");break; case 1:printf("Monday");break; case 2:printf("Tueday");break; case 3:printf("Wednesday");break; case 4:printf("Thursday");break; case 5:printf("Friday");break; case 6:printf("Sunday");break; } if(dflag==1) goto SETTIME; DISTIME:printf("\nCurrent Time:\n"); inreg.h.ah=0x2c; int86(0x21,&inreg,&outreg); printf("%d:%d:%d.%d ",outreg.h.ch,outreg.h.cl,outreg.h.dh,outreg.h.dl); if(tflag==1) goto END; SETDATE:printf("\nSet Date.\nDay,Month and Year\n"); scanf("%d%d%d",&day,&month,&year); inreg.h.ah=0x2b; inreg.x.cx=year; inreg.h.dh=month; inreg.h.dl=day; int86(0x21,&inreg,&outreg); if(outreg.h.al==0x00) { dflag=1; goto DISDATE; } else { printf("\nInvalid entry"); getch(); exit(0); } SETTIME:printf("\nSet Time. Enter Time.\nHour,Minutes and Seconds\n"); scanf("%d%d%d",&hr,&min,&sec); inreg.h.ah=0x2d; inreg.h.ch=hr; inreg.h.dh=sec; inreg.h.cl=min; inreg.h.dl=0; int86(0x21,&inreg,&outreg); if(outreg.h.al==0x00) { tflag=1; goto DISTIME; } else { printf("\nInvalid entry"); getch(); exit(0); } END: getch(); }
No comments :
Post a Comment