您的位置:首页 > 其它

CMOS内存信息

2008-10-24 20:05 155 查看

The CMOS memory information

CMOS stands for: Complementary Metal Oxide Semiconductor

In the 286 and up, the CMOS memory chip holds 64 bytes of data. The
data is held in the chip by the battery. This is so that when you turn
your machine off, the machine can still keep track of the time, data,
disk type(s) and so one.

The CMOS memory is accessed via 2 I/O ports, at addresses 70h and 71h.
A program writes the config. address (00h through 3Fh) to I/O port 70h
and then writes a new byte value or reads the current byte value at I/O
port 71h. I
strongly suggest that you don't write to these ports unless you know
what you are doing. You could severely mess up your machine


The following table specifies the information in the CMOS memory:

address (hex)		Contents
00h		Current Second   (either in BCD or hex format, see bit 2 of offset 0Bh below)
01h		Second Alarm
02h		Current Minute
03h		Minute Alarm
04h		Current Hour     (see bit 1 of offset OBh below)
05h		Hour Alarm
06h		Day of the Week
07h		Day of the Month
08h		Month
09h		Year (00-99)   (see offset 32h)
0Ah		Clock Register A
0Bh		Clock Register B
bits:	76543210	Meaning
X.......	1 = enable clock setting by freezing updates
.X......	1 = enable periodic interrupt
..X.....	1 = enable alarm interrupt
...X....	1 = enable update-ended interrupt
....X...	1 = enable square wave output
.....X..	1 = Data Mode - 0: BCD, 1: Binary
......X.	1 = 24/12 hour selection - 1 enables 24 hour mode
.......X	1 = Daylight Savings Enable
=1 enables automatic switching to/from DST
in April and October

0Ch		Clock Register C
0Dh		Clock Register D
0Eh		Diagnostic byte (got during Power On Self Test)
bits:	76543210	Meaning
X.......	1 = CMOS battery Dead
.X......	1 = checksum incorrect
..X.....	1 = config. byte incorrect
...X....	1 = memory size incorrect
....X...	1 = hard disk or controller error
.....X..	1 = date or time incorrect
......XX	Not used
0Fh		Power-down system status  ?what was last boot?
10h		Bits 4-7: first floppy disk type
0000 = no disk drive
0001 = 5.25" 320k or 360k
0010 = 5.25" 1.2m
0011 = 3.5"  720k
0100 = 3.5"  1.44m
0110 = 3.5"  2.88m
Bits 0-3: second floppy disk type
same as above
11h		reserved
12h		Bits 4-7: first Hard Drive type
Bits 3-0: second Hard Drive type
13h		reserved
14h		Configuration byte
bits:	76543210	Function		 Meaning
XX......	number of disk drives	00 = 1 drive
01 = 2 drives
..XX....	Primary display type		00 = display has its own BIOS
01 = 40-column CGA
10 = 80-column CGA
11 = MDA

....XX..	not used
......X.			1 = math coprocessor installed
......X.			0 = no floppy drives
1 = floppy drives available
15h		Low byte of base memory size
100h = 256k
200h = 512k
280h = 640k
16h		High byte of 15h above
17h		Low expansion memory byte
18h		High expansion memory byte
200h = 512k
400h = 1024k
600h-3C00h = 1536-15,360k
19h		Extended type byte: Hard drive 1
1Ah		Extended type byte: Hard drive 2
1Bh-2Dh		reserved
2Eh		check-sum for addresses 10h-2Dh  (word)
2Fh		  see above
30h		Low expansion memory byte
31h		High expansion memory byte
200h = 512k
400h = 1024k
600h-3C00h = 1536-15,360k
32h		Centry in BCD (19 or 20)  (see offset 09h)
33h		Information flag


You may also use INT 11h to get some of this data.

For more detailed information, download the following zip file: CMOSINFO.ZIP

For a sample assembler program to print the date and time, download the following asm file: cmosdt.asm (3k)

This was extracted from Peter Norton's PC Programmers Bible

本文转自http://www.frontiernet.net/~fys/cmosinfo.htm



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: