Below is a typical CMOS RAM memory map for an AT PC. Under a 128byte ISA compatible CMOS, 16 bytes (00h-0fh) is the real time clock, 32 bytes (10h-2Fh) is the ISA configuration data, 16 bytes (30h-3Fh) is the BIOS specific configuration data and 64 bytes (40h-7Fh) is the ESCD (Extended System Configuration Data).
| Offset Hex | Offset Dec | Field Size | Function |
|
00h | 0 | 1 byte | RTC seconds. Contains the seconds value of current time |
| 01h | 1 | 1 byte | RTC seconds alarm. Contains the seconds value for the RTC alarm |
| 02h | 2 | 1 byte | RTC minutes. Contains the minutes value of the current time |
| 03h | 3 | 1 byte | RTC minutes alarm. Contains the minutes value for the RTC alarm |
| 04h | 4 | 1 byte | RTC hours. Contains the hours value of the current time |
| 05h | 5 | 1 byte | RTC hours alarm. Contains the hours value for the RTC alarm |
| 06h | 6 | 1 byte | RTC day of week. Contains the current day of the week |
| 07h | 7 | 1 byte | RTC date day. Contains day value of current date |
| 08h | 8 | 1 byte | RTC date month. Contains the month value of current date |
| 09h | 9 | 1 byte | RTC date year. Contains the year value of current date |
| 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), 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 = 24 hour clock (0 = 24 hour mode (default), 1 = 12 hour mode) | |||
| Bit 1 = Daylight savings time (0 = Disable daylight savings (default), 1 = Enable daylight savings) | |||
| 0Ch | 12 | 1 byte | Status Register C - Read only flags indicating system status conditions |
| 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 - Valid CMOS RAM flag on bit 7 (battery condition flag) |
| Bit 7 = Valid CMOS RAM flag (0 = CMOS battery dead, 1 = CMOS battery power good) | |||
| Bit 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 in 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 bad) | |||
| Bit 2 = CMOS time status indicator (0 = Time is valid, 1 = Time is invalid) | |||
| Bit 1-0 = Reserved | |||
| 0Fh | 15 | 1 byte | CMOS Shutdown Status |
| 00h = Power on or soft reset | |||
| 01h = Memory size pass | |||
| 02h = Memory test pass | |||
| 03h = Memory test fail | |||
| 04h = POST complete; boot system | |||
| 05h = JMP double word pointer with EOI | |||
| 06h = Protected mode tests pass | |||
| 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 = 360KB | |||
| 0010 = 1.2MB | |||
| 0011 = 720KB | |||
| 0100 = 1.44MB | |||
| 11h | 17 | 1 byte | System Configuration Settings |
| Bit 7 = Mouse support disable/enable | |||
| Bit 6 = Memory test above 1MB disable/enable | |||
| Bit 5 = Memory test tick sound disable/enable | |||
| Bit 4 = Memory parity error check disable/enable | |||
| Bit 3 = Setup utility trigger display disable/enable | |||
| Bit 2 = Hard disk type 47 RAM area (0:300h or upper 1KB of DOS area) | |||
| Bit 1 = Wait for <F1> if any error message disable/enable | |||
| Bit 0 = System boot up with Numlock (off/on) | |||
| 12h | 18 | 1 byte | Hard Disk Types |
| Bits 7-4 = Hard disk 0 type | |||
| Bits 3-0 = Hard disk 1 type | |||
| 0000 = No drive installed | |||
| 0001 = Type 1 installed | |||
| 1110 = Type 14 installed | |||
| 1111 = Type 16-47 (defined later in 19h) | |||
| 13h | 19 | 1 byte | Typematic Parameters |
| Bit 7 = typematic rate programming disable/enabled | |||
| Bit 6-5 = typematic rate delay | |||
| Bit 4-2 = Typematic rate | |||
| 14h | 20 | 1 byte | Installed Equipment |
| Bits 7-6 = Number of floppy disks (00 = 1 floppy disk, 01 = 2 floppy disks) | |||
| Bits 5-4 = Primary display (00 = Use display adapter BIOS, 01 = CGA 40 column, 10 = CGA 80 column, 11 = Monochrome Display Adapter) | |||
| Bit 3 = Display adapter installed/not installed | |||
| Bit 2 = Keyboard installed/not installed | |||
| Bit 1 = math coprocessor installed/not installed | |||
| Bit 0 = Always set to 1 | |||
| 15h | 21 | 1 byte | Base Memory Low Order Byte - Least significant byte |
| 16h | 22 | 1 byte | Base Memory High Order Byte - Most significant byte |
| 17h | 23 | 1 byte | Extended Memory Low Order Byte - Least significant byte |
| 18h | 24 | 1 byte | Extended Memory High Order Byte - Most significant byte |
| 19h | 25 | 1 byte | Hard Disk 0 Extended Type - (10h to 2Eh = Type 16 to 46 respectively) |
| 1Ah | 26 | 1 byte | Hard Disk 1 Extended Type - (10h to 2Eh = Type 16 to 46 respectively) |
| 1Bh | 27 | 1 byte | User Defined Drive C: - Number of cylinders least significant byte |
| 1Ch | 28 | 1 byte | User Defined Drive C: - Number of cylinders most significant byte |
| 1Dh | 29 | 1 byte | User Defined Drive C: - Number of heads |
| 1Eh | 30 | 1 byte | User Defined Drive C: - Write precomp cylinder least significant byte |
| 1Fh | 31 | 1 byte | User Defined Drive C: - Write precomp cylinder most significant byte |
| 20h | 32 | 1 byte | User Defined Drive C: - Control byte |
| 21h | 33 | 1 byte | User Defined Drive C: - Landing zone least significant byte |
| 22h | 34 | 1 byte | User Defined Drive C: - Landing zone most significant byte |
| 23h | 35 | 1 byte | User Defined Drive C: - Number of sectors |
| 24h | 36 | 1 byte | User Defined Drive D: - Number of cylinders least significant byte |
| 25h | 37 | 1 byte | User defined Drive D: - Number of cylinders most significant byte |
| 26h | 38 | 1 byte | User Defined Drive D: - Number of heads |
| 27h | 39 | 1 byte | User Defined Drive D: - Write precomp cylinder least significant byte |
| 28h | 40 | 1 byte | User Defined Drive D: - Write precomp cylinder most significant byte |
| 29h | 41 | 1 byte | User Defined Drive D: - Control byte |
| 2Ah | 42 | 1 byte | User Defined Drive D: - Landing zone least significant byte |
| 2Bh | 43 | 1 byte | User Defined Drive D: - Landing zone most significant byte |
| 2Ch | 44 | 1 byte | User Defined Drive D: - Number of sectors |
| 2Dh | 45 | 1 byte | System Operational Flags |
| Bit 7 = Weitek processor present/absent | |||
| Bit 6 = Floppy drive seek at boot enable/disable | |||
| Bit 5 = System boot sequence | |||
| Bit 4 = System boot CPU speed high/low | |||
| Bit 3 = External cache enable/disable | |||
| Bit 2 = Internal cache enable/disable | |||
| Bit 1 = Fast gate A20 operation enable/disable | |||
| Bit 0 = Turbo switch function enable/disable | |||
| 2Eh | 46 | 1 byte | CMOS Checksum High Order Byte - Most significant byte |
| 2Fh | 47 | 1 byte | CMOS Checksum Low Order Byte - Least significant byte |
| 30h | 48 | 1 byte | Actual Extended Memory Low Order Byte - Least significant byte |
| 31h | 49 | 1 byte | Actual Extended Memory High Order Byte - Most significant byte |
| 32h | 50 | 1 byte | Century Date BCD - Value for century of current date |
| 33h | 51 | 1 byte | POST Information Flags |
| Bit 7 = BIOS length (64KB/128KB) | |||
| Bit 6-1 = reserved | |||
| Bit 0 = POST cache test passed/failed | |||
| 34h | 52 | 1 byte | BIOS and Shadow Option Flags |
| Bit 7 = Boot sector virus protection disabled/enabled | |||
| Bit 6 = Password checking option disabled/enabled | |||
| Bit 5 = Adapter ROM shadow C800h (16KB) disabled/enabled | |||
| Bit 4 = Adapter ROM shadow CC00h (16KB) disabled/enabled | |||
| Bit 3 = Adapter ROM shadow D000h (16KB) disabled/enabled | |||
| Bit 2 = Adapter ROM shadow D400h (16KB) disabled/enabled | |||
| Bit 1 = Adapter ROM shadow D800h (16KB) disabled/enabled | |||
| Bit 0 = Adapter ROM shadow DC00h (16KB) disabled/enabled | |||
| 35h | 53 | 1 byte | BIOS and Shadow Option Flags |
| Bit 7 = Adapter ROM shadow E000h (16KB) disabled/enabled | |||
| Bit 6 = Adapter ROM shadow E400h (16KB) disabled/enabled | |||
| Bit 5 = Adapter ROM shadow E800h (16KB) disabled/enabled | |||
| Bit 4 = Adapter ROM shadow EC00h (16KB) disabled/enabled | |||
| Bit 3 = System ROM shadow F000h (16KB) disabled/enabled | |||
| Bit 2 = Video ROM shadow C000h (16KB) disabled/enabled | |||
| Bit 1 = Video ROM shadow C400h (16KB) disabled/enabled | |||
| Bit 0 = Numeric processor test disabled/enabled | |||
| 36h | 54 | 1 byte | Chipset Specific Information |
| 37h | 55 | 1 byte | Password Seed and Color Option |
| Bit 7-4 = Password seed (do not change) | |||
| Bit 3-0 = Setup screen color palette | |||
| 07h = White on black | |||
| 70h = Black on white | |||
| 17h = White on blue | |||
| 20h = Black on green | |||
| 30h = Black on turquoise | |||
| 47h = White on red | |||
| 57h = White on magenta | |||
| 60h = Black on brown | |||
| 38h-3dh | 56-61 | 6 bytes | Encrypted Password - (do not change) |
| 3Eh | 62 | 1 byte | Extended CMOS Checksum - Most significant byte |
| 3Fh | 63 | 1 byte | Extended CMOS Checksum - Least significant byte |
| 40h | 64 | 1 byte | Model Number Byte |
| 41h | 65 | 1 byte | 1st Serial Number Byte |
| 42h | 66 | 1 byte | 2nd Serial Number Byte |
| 43h | 67 | 1 byte | 3rd Serial Number Byte |
| 44h | 68 | 1 byte | 4th Serial Number Byte |
| 45h | 69 | 1 byte | 5th Serial Number Byte |
| 46h | 70 | 1 byte | 6th Serial Number Byte |
| 47h | 71 | 1 byte | CRC Byte |
| 48h | 72 | 1 byte | Century Byte |
| 49h | 73 | 1 byte | Date Alarm |
| 4Ah | 74 | 1 byte | Extended Control Register 4A |
| 4Bh | 75 | 1 byte | Extended Control register 4B |
| 4Ch | 76 | 1 byte | Reserved |
| 4Dh | 77 | 1 byte | Reserved |
| 4Eh | 78 | 1 byte | Real Time Clock - Address 2 |
| 4Fh | 79 | 1 byte | Real Time Clock - Address 3 |
| 50h | 80 | 1 byte | Extended RAM Address - Least significant byte |
| 51h | 81 | 1 byte | Extended RAM Address - Most significant byte |
| 52h | 82 | 1 byte | Reserved |
| 53h | 83 | 1 byte | Extended RAM Data Port |
| 54h | 84 | 1 byte | Reserved |
| 55h | 85 | 1 byte | Reserved |
| 56h | 86 | 1 byte | Reserved |
| 57h | 87 | 1 byte | Reserved |
| 58h | 88 | 1 byte | Reserved |
| 59h | 89 | 1 byte | Reserved |
| 5Ah | 90 | 1 byte | Reserved |
| 5Bh | 91 | 1 byte | Reserved |
| 5Ch | 92 | 1 byte | Reserved |
| 5Dh | 93 | 1 byte | Reserved |
本文详细介绍了 AT 兼容 PC 中 CMOS RAM 的内存映射情况,包括实时钟、配置数据等各部分的功能及作用。通过具体地址偏移量说明了 CMOS RAM 中各项设置的意义。
3393

被折叠的 条评论
为什么被折叠?



