| TIP: Click on subject to list as thread! | ANSI |
| echo: | |
|---|---|
| to: | |
| from: | |
| date: | |
| subject: | Year2000 problem |
SI>... However, while perusing the CMOS memory map that comes with Ralf SI>Brown's interrupt listing, I noticed it said that the year in the CMOS SI>is stored as a BCD ranging from 00 to 99. Has this been fixed in more SI>recent CMOSs, or are they all like this? The year is stored in CMOS byte 09h and the Century is stored in CMOS byte 32h. SI>I decided to write a test program which displayed the date/time SI>according to the CMOS and the date/time according to the DOS SI>interrupts, and set them to just before 1/1/2000 and let them both SI>tick over. Of course, the CMOS said 1/1/00, and the day of week was SI>Monday, which is incorrect, as it should be a Saturday. The Monday SI>would've been correct if it was 1/1/1900 though. This indicates that the Real Time Clock (RTC) chip in your computer is not Year2000 compliant. (not surprising) SI>The DOS interrupts had the correct information, including the year. I SI>rebooted, ran the program again, and DOS still reported 2000. How did SI>DOS get the year as 2000 when in the CMOS it said 00?? Oh, and the SI>CMOS setup said 2000. This indicates that your computer's BIOS handles the Year2000 rollover problem. In this case, when the BIOS's GetDate interrupt (1Ah/04h) is called the Century byte will be updated before the date information is returned to you. * KingQWK 1.05 # [PK] * A twisted mind? No, just bent in several strategic places. --- Maximus/2 3.01 *** Darryl Gregorash wrote in a message to Scott McNay: DG>> mov ss:[sp], eax DG>> sub sp,4 SM> Shouldn't that be the other way around? DG> I don't think so; it mimics a PUSH. Last I heard, SP pointed at the top of the stack, so that SS:[SP] would refer to the last item. Meaning, to add another value to the stack, you must first decrement sp, then move the new value, as in: sub sp,4 mov ss:[sp],eax I tried a PUSH AX in DEBUG, and after the instruction completed, SS:[SP] contained the value of AX. Besides, if it really were mov ss:[sp],eax / sub sp,4, I'd put cli/sti around the two instructions to keep the new value from being zapped. SM> (assuming, of course, that mov ax,ss:[sp] worked ;) DG> Why wouldn't it? Did you try it? Microsoft's DEBUG says "error", and OpenDOS's DEBUG says "Incorrect name of index register". --Scott. --- timEd 1.01 ---------------* Origin: COMM Port OS/2 juge.com 204.89.247.1 (281) 980-9671 (1:106/2000) * Origin: Wizard's PC Services, BBS=254-554-2146, Pager=903-3097 (1:395/11) |
|
| SOURCE: echomail via exec-pc | |
Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.