精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● 软件开发>>软件体系结构及资料汇编>>CMOS RAM 中的地址分配

主题:CMOS RAM 中的地址分配
发信人: asmhome()
整理人: ifeelyou(2000-01-14 16:58:49), 站内信件
水中月 作

http://asmhome.yeah.net

CMOS RAM 中的地址分配:
地  址
说   明
00-0D
*实时时钟信息
0E
*诊断状态字节
0F
*停机状态字节
10
软盘驱动器类型字节,驱动器C和D
11
保留
12
硬盘驱动器类型(小于15)字节:驱动器C和D
13
保留
14
设备字节
15
基本存储器低字节
16
基本存储器高字节
17
扩展存储器低字节
18
扩展存储器高字节
19-1A
硬盘驱动器类型(大于15)字节:驱动器C和D
1B-2D
保留
2E-2F
2字节CMOS校验和(10-2D各字节累加和)
30
*扩充存储器低字节
31
*扩充存储器高字节
32
*日期世纪字节
33
*信息标志(在加电时设置)
34-3F
保留
注:* 这些字节不包括在检查和的计算之内,它们不是配置记录的一部份。

===================================================================

实时时钟信息(地址00-0D):
地  址
功    能
00

01
秒报警
02

03
分报警
04

05
时报警
06
星期的天
07
月的日子
08

09

0A
状态寄存器A
0B
状态寄存器B
0C
状态寄存器C
0D
状态寄存器D
注:当设置时间和时期时,准备程序对寄存器A,B,C和D初始化。并且,中断1A
是读/设置时间和日期的BIOS接口。它与准备程序一样重要。对状态字节进行初始
化。

(1)状态寄存器A

  位7:计时器在计时(UIP),1表示计时器正在计时,0表示当前日期和时间可
以用于读出。

  位6-位4:22级分频器(DV2至DV0)。这三个分频器的选择位,识别正在使用哪
一种时间基准频率。系统将分频器初始化到010,它选择一个32.768kHz的时间基
准作为CMOS的时种输入。

  位3-位0:速率选择位(RS3至RS0)。这些位允许选择分频器的输出频率。系统
将速率选择位初始化到0110,它先用1.024kHz的方波输出和976.562us周期的中断
速率。

(2)状态寄存器B

  位7:设置0表示按计时器每秒加1的速度计时。1表示停止计时,程序能对14
个时间字节初始化,而且在把0写入此位以前不进行计时。

  位6:允许周期中断(PIE)。此位是一个读/写位,它允许中断发生在由状态寄
存器A中的表兄弟和分频器位所指写的速率上。1允许中断,0禁止中断。系统将此
位初始化到0。

  位5:允许报警中断(AIE)。1表示允许报警中断。0禁止报警中断,系统将此
位初始化到0。

  位4:允许计时器计时结束中断(UIE)。1表示允许计时器计时结束中断,而0
表示禁止计时器计时结束中断。系统将此位初始化为0。

  位3:允许方波(SQWE)。1表示允许由寄存器A中速选择位所设置的方波频率,
0表示禁止方波。系统将此位初始化为0。

  位2:日期方波(DM)。此位表示时间和日期计时器使用二进制格式,还是使用
二一十进制(BCD)STAA。1表示二进制,0表示二一十进制(BCD)。系统将此位初始
化为0。

  位1:24/12小时方式。此位指定是按规定4小时,还是按12小时方式建立小时
字节。1表示24小时方式,0表示12小时方式。系统将此位初始化为0。

  位0:允许夏令时间(DSE)。1表示夏令时间,0表示禁止夏令时间(标准的时间
)。系统将此位初始化为0。

(3)状态寄存器C

  位7-位4:IRQF、PF、AF、UF标记位。这些标记位只能读,仅当寄存器B中的
“AIE”、“PIE”和“UIE”中断允许时,这些标记位才受到影响。

(4)状态寄存器D

  位7:有效RAM位(VRB)。此位只能读,通过电源检测引脚指示CMOS RAM的内容
情况。电源检测引脚为低电平状态表示实时时钟已经掉电(干电池耗尽)。VRB为1
表示电源接通实时时钟,0表示实时时钟已经掉电。

  位6-位0:保留。

===================================================================

(5)诊断状态字节(0EH)

  位7:实时时钟芯片已经掉电。0表示芯片没有掉电,1表示芯片掉电。

  位6:配置记录的检查和状态指示器。0表示检查和正确,1表示检查和不正确


  位5:不正确的配置信息。这是在加电对设备字节(14H单元)的配置记录的检
测。0表示配置信息有效,而且表示配置无效。加电检查的要求为:A:至少装入
一个软盘驱动器(设备标志字节的位0设置为1)。B:配置中的主显示适配器的设置
要和系统中实际显示器硬件情况相一致。

  位4:存储器容量比较错误。0表示加电检查所决定的实际存储器容量与配置
记录中的存储器容量相同,1表示存储容量不相同。

  位3:硬磁盘C的初始化状态。0表示硬盘正常运行和系统能尝试“建立引导”
。而1表示硬盘初始化失败,它就阻止系统尝试”建立引导“。

  位2:时间状态指示器(POST有效性检查)。0表示时间有效,而1表示时间无效


  位1-位0:保留。

===================================================================

(6)停机状态字节(0FH)

此字节中的各位由加电诊断程序定义。

===================================================================

(7)软磁盘驱动器类型字节(10H)

  位7-位4:安装第一个软磁盘驱动器(A)的类型:

  0000——当前没有软驱
  0001——5.25英寸,360KB
  0010——5.25英寸,1.2MB
  0100——3.5英寸,1.44MB
  1000——3.5英寸,720KB

  位3-位0:安装第二个软磁盘驱动器(B)的类型,其定义同位7-位4。

===================================================================

  地址11是一个保留字节。

===================================================================

(8)硬磁盘类型字节(12H)

  位7-位4:定义安装的第一个硬盘驱动器(C)的类型:

  0000—— 当前没有硬磁盘驱动器
  0001-1111——定义类型1至类型15,当类型大于15时,该4位写1111,磁盘类
型由19H单元定义。

  位3-位0:定义安装的第二个硬盘驱动器(D)的类型,其定义同位7-位4。当磁
盘类型大于15时,由1AH单元定义。

===================================================================

  地址13H是一个保留字节。

===================================================================

(9)设备标志字节(14H)

  位7-位6:指出安装的软磁盘驱动器的数目:

  00——1个驱动器
  01——2个驱动器
  10——保留
  11——保留

  位5-位4:在PC/AT机中为主显示器配置,主要指CGA和MDA,目前这2位的定义
有变化,一般00表示彩色,11表示单色,进一步定义有的系统在2FH单元,或其它
单元。

  位3-位2:没有使用

  位1:数字协处理器存在位:

  0——没有安装数字协处理器
  1——已安装数字协处理器

  位0:此位为1表示已安装软磁盘驱动器

注意:设备标志字节为加电自检时所定义的系统中的基本设备。

===================================================================

(10)基本存储器容量的低位和高位字节(15H和16H)

  有效容量为2个字节的组合(15H为低字节,16H为高字节):

  0100-256KB 系统板RAM
  0200-512KB 系统板RAM
  0300-640KB 系统板RAM

===================================================================

(11)扩展存储器容量的低位和高位字节(17H和18H)

  有效容量为2个字节的组合(17H为低字节,18H为高字节):

  0100-256KB
  0200-512KB
  0400-1024KB
  0800-2048KB
  0C00-3072KB
  0D00-3328KB
  1000-4096KB

===================================================================

(12)硬磁盘类型字节(19H和1AH)

  如果硬磁盘类型超过15,则把类型设置在19H和1AH。19H为C盘类型,1AH为D
盘类型,都用2位的16进制的代码表示。如19H单元的内容为2FH,则表示C盘的类
型为47。

===================================================================

地址1BH至2DH为保留字节。

===================================================================

(13)检查和的低字节和高字节(2EH和2FH)

  这是对地址10H-2DH的检查和,地址2EH为低字节的检查和,地址2FH为高字节
的检查和。

===================================================================

(14)扩充存储器容量的低位和高位字节(30H和31H)

  通常与17H及18H单元的设置相同。

===================================================================

(15)日期世纪字节(32H)

位7-位0:世纪用BCD值表示(由BIOS接口读和设置)

===================================================================

(16)信息标志(33H)

  位7:通常为1,表示基本存储器为640KB。

  位6:此位用于准备实用程序在初始化准备后发出第一个用户消息。

  位5-位0:保留

===================================================================

地址34H至3FH为保留字节

===================================================================

补充说明:

  CMOS分配有2个端口地址,70H和71H。70H为地址口,用于先写入要访问的CM
OS的单元号(地址),71H口为数据口,在通过70H口写入单元号之后,即可以通过
71H口对该单元进行写入或读出。下面是一个例子:

   .
   .
  XOR  AX,AX
  MOV  AL,10
  MOV  DX,70
  OUT  DX,AL  ;指定为10H单元
  MOV  DX,71
  IN   AL,DX  ;读10H单元的信息
  MOV  AL,0
  OUT  DX,AL  ;写入10H单元
   .
   .

===================================================================

--
=========================================
=  mailto:[email protected]                   =
=  http://www.asmhome.com/              =
=  http://chinashare.yeah.net/          =
=  http://mud.sz.jsinfo.net/per/share/  =
=========================================

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.102.92.121]

[关闭][返回]