CMOS Register reference

Offset Hex Offset Dec Field Size Function
00h 0 1 byte Current second in binary coded decimal (BCD)
01h 1 1 byte Alarm second in BCD
02h 2 1 byte Current minute in BCD
03h 3 1 byte Alarm minute in BCD
04h 4 1 byte Current hour in BCD
05h 5 1 byte Alarm hour in BCD
06h 6 1 byte Current day of week in BCD
07h 7 1 byte Current day in BCD
08h 8 1 byte Current month in BCD
09h 9 1 byte Current year in BCD
0Ah 10 1 byte Status register A
        Bit 7 = Update in progress
          0 = Date and time can be read
          1 = Time update in progress
        Bits 6-4 = Time frequency divider
          010 = 32.768KHz
        Bits 3-0 = Rate selection frequency
          0110 = 1.024KHz square wave frequency
0Bh 11 1 byte Status register B
        Bit 7 = Clock update cycle
          0 = Update normally
          1 = Abort update in progress
        Bit 6 = Periodic interrupt
          0 = Disable interrupt (default)
          1 = Enable interrupt
        Bit 5 = Alarm interrupt
          0 = Disable interrupt (default)
          0 = Disable interrupt (default)
          1 = Enable interrupt
          Bit 4 = Update-ended interrupt
          0 = Disable interrupt (default)
          1 = Enable interrupt
        Bit 3 = Status register A square wave frequency
          0 = Disable square wave (default)
          1 = Enable square wave
        Bit 2 = Date format
          0 = Calendar in BCD format (default)
          1 = Calendar in binary format
        Bit 1 = 24-hour clock
          0 = 24-hour mode (default)
          1 = 12-hour mode
        Bit 0 = Daylight Savings Time
          0 = Disable Daylight Savings (default)
          1 = Enable Daylight Savings
0Ch 12 1 byte Status register C
        Bit 7 = IRQF flag
        Bit 6 = PF flag
        Bit 5 = AF flag
        Bit 4 = UF flag
        Bits 3-0 = Reserved
0Dh 13 1 byte Status register D
        Bit 7 = Valid CMOS RAM bit
          0 = CMOS battery dead
          1 = CMOS battery power good
        Bits 6-0 = Reserved
0Eh 14 1 byte Diagnostic status
        Bit 7 = Real-time clock power status
          0 = CMOS has not lost power
          1 = CMOS has lost power
        Bit 6 = CMOS checksum status
          0 = Checksum is good
          1 = Checksum is bad
        Bit 5 = POST configuration information status
          0 = Configuration information is valid
          1 = Configuration information is invalid
        Bit 4 = Memory size compare during POST
          0 = POST memory equals
          configuration
          1 = POST memory not equal to
          configuration
        Bit 3 = Fixed disk/adapter initialization
          0 = Initialization good
          1 = Initialization failed
        Bit 2 = CMOS time status indicator
          0 = Time is valid
          1 = Time is Invalid
        Bits 1-0 = Reserved
0Fh 15 1 byte Shutdown code
        00h = Power on or soft reset
        01h = Memory size pass
        02h = Memory test pass
        03h = Memory test fail
        04h = POST end; boot system
        05h = JMP double word pointer with EOI
        06h = Protected mode tests pass
        07h = Protected mode tests fail
        07h = Protected mode tests fail
        08h = Memory size fail
        09h = Int 15h block move
        0Ah = JMP double word pointer without
        EOI
        0Bh = used by 80386
10h 16 1 byte Floppy disk drive types
        Bits 7-4 = Drive 0 type
        Bits 3-0 = Drive 1 type
          0000 = None
          0001 = 360K
          0010 = 1.2M
          0011 = 720K
          0100 = 1.44M
11h 17 1 byte Reserved
12h 18 1 byte Hard disk types
        Bits 7-4 = Hard disk 0 type (0-15)
        Bits 3-0 = Hard disk 1 type (0-15)
13h 19 1 byte Reserved
14h 20 1 byte Installed equipment
        Bits 7-6 = Number of floppy disk drives
          00 = 1 floppy disk drive
          01 = 2 floppy disk drives
        Bits 5-4 = Primary display
          00 = Use display adapter BIOS
          01 = CGA 40-column
          10 = CGA 80-column
          11 = Monochrome Display Adapter
        Bits 3-2 = Reserved
        Bit 1 = Math coprocessor present
        Bit 0 = Floppy disk drive present
15h 21 1 byte Base memory low-order byte
16h 22 1 byte Base memory high-order byte
17h 23 1 byte Extended memory low-order byte
18h 24 1 byte Extended memory high-order byte
19h 25 1 byte Hard Disk 0 Extended Type (0-255)
1Ah 26 1 byte Hard Disk 1 Extended Type (0-255)
1Bh 27 9 bytes Reserved
2Eh 46 1 byte CMOS checksum high-order byte
2Fh 47 1 byte CMOS checksum low-order byte
30h 48 1 byte Actual extended memory low-order byte
31h 49 1 byte Actual extended memory high-order byte
32h 50 1 byte Date century in BCD
33h 51 1 byte POST information flag
        Bit 7 = Top 128K base memory status
          0 = Top 128K base memory not installed
          1 = Top 128K base memory installed
        Bit 6 = Setup program flag
          0 = Normal (default)
          1 = Put out first user message
        Bits 5-0 = Reserved
34h 52 2 bytes Reserved