发信人: 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]
  | 
 
 
 |