. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->使用BIOS进行键盘输入和磁盘读写
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  读取CMOS中的数据  [待解决] 回复[ 2次 ]   点击[ 235次 ]  
2482425197
[帖 主]   [ 发表时间:2012-05-25 08:24 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-03-04 22:25
A>debug 
   mov bx,1000 ;内存存放地址
   mov cx,0080 ;CMOS的128个字节长度
   mov ax,0000;置0
   mov dx,cx ;存放长度计数
   mov cx,0005
  loop 010E ;等待
  out 70,al ;指向端口地址
  mov cx,0005
  loop 0115 ;等待
  in al,71 ;从71H口读数据
  mov [bx],al ;数据存入[bx]中
  cmp ah,0e   ;=0E否?
  jb 0123     ;小于则转移
  add ah,a0  ;加一个大数,超过80H
  inc ah  ;ah=ah+1,端口地址
  inc bx ;bx=bx+1,内存地址
  mov cx,dx ;cx=dx,恢复长度计数
  mov al,ah ;al=新地址
  loop 0109 ;cx=cx-1,进行下一循环
  
问题:(1)cmp ah,0e 为什么要加这条指令?
      (2)add ah,a0 为什么要加这条指令?(因为我认为上述两条指令都可以不加)
tomato
[第1楼]   [ 回复时间:2012-05-25 17:28 ]   [引用]   [回复]   [ top ] 
荣誉值:405
信誉值:0
注册日期:2008-01-19 14:51
这个程序是实现什么功能?
2482425197
[第2楼]   [ 回复时间:2012-05-28 21:16 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-03-04 22:25
改程序的功能是读取CMOS中的数据,用于CMOS中出现问题时,恢复CMOS中的数据。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved