访问CMOS RAM
来源:互联网 发布:c语言流程图例子 编辑:程序博客网 时间:2024/05/17 04:22
在看书过程中遇到一个问题:
以“年/月/日 时:分:秒”的格式,显示当前的日期、时间。
我们知道 CMOS RAM 中存放着当前的时间:年,月,日,时,分,秒。这6个信息的长度都为1个字节,存放单元为: 秒:0 分:2 时 :4 日:7 月:8 年:9 这些数据以BCD码的方式存放。当我们从CMOS RAM的8号单元中读出一个字节后,进行如下处理:
assume cs:code
data segment
db 9,8,7,4,2,0
db '/','/',0,':',':',0
data ends
code segment
start: mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov si,0
mov di,160*12+30*2
mov cx,6
s:mov al,[si]
out 70h,al
in al,71h
call c
mov es:[di],ah ;ah中为数据的十位数码值
mov es:[di+2],al ;al中为数据的个位数码值
mov bl,[si+6] ;特殊字符
mov es:[di+4],bl
inc si
add di,6
loop s
in al,60h
cmp al,10h
je quit
jmp start
quit:mov ax,4c00h
int 21h
c:push cx
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
add ah,30h
add al,30h
pop cx
ret
code ends
end start
assume cs:code
code segment
start:
mov bx,0b800h
mov es,bx
mov di,160*12+2*30 ;初始化显存的偏移地址,
push di ;此处为第12行第30列。
mov al,10 ;为了有规律可循,初始al的值为10(十进制)
rdate: ;读取日期
dec al
cmp al,7
jb rtime ;当读完‘日’后,就跳至标号rtime处
call show
add di,6
jmp short rdate
rtime: ;读取时间
sub al,2
cmp al,0feh ;为无符号数相减
je sign ;当读完‘秒’后,就跳至标号sign处
call show
add di,6
jmp short rtime
sign: ;显示相关符号
pop di
add di,4 ;定位第一个'/'符号在显存的偏移地址
mov byte ptr es:[di],'/'
add di,6
mov byte ptr es:[di],'/'
add di,12 ;跳过日期与时间之间的空格
mov byte ptr es:[di],':'
add di,6
mov byte ptr es:[di],':'
in al,60h
cmp al,10h ;Q键的扫描码
je quit
jmp start
;以上4句为动态获取系统时间的关键
quit: mov ax,4c00h
int 21h
show: push ax
push cx
out 70h,al
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
add ah,30h
add al,30h
mov byte ptr es:[di],ah
mov byte ptr es:[di+2],al
pop cx
pop ax
ret
code ends
end start
- 访问CMOS RAM
- 实验十四_访问CMOS RAM
- [Hb-XIV] 访问CMOS RAM(端口)
- 汇编实验14:访问CMOS RAM
- 汇编语言 实验14 访问CMOS RAM
- 王爽《汇编语言》第十四章实验——访问CMOS RAM
- 王爽<汇编语言>实验14 访问CMOS RAM 解答(详细注释)
- 王爽《汇编语言》实验14——访问CMOS RAM
- 王爽 汇编语言 第三版 实验14 访问 CMOS RAM
- 访问PC IO CMOS RAM(读取bios时间)
- 实验14:访问CMOS RAM显示当前日期和时间
- 端口 port CMOS RAM
- 王爽《汇编语言》实验14:访问CMOS RAM打印日期和时间 解答
- 操作CMOS RAM芯片(1403)
- 有关CMOS RAM的分析及读取
- CMOS RAM 各字节的含义
- 汇编:关于cmos ram的问题
- 实验14:利用CMOS RAM 显示时间
- 浅谈内存泄漏
- 外贸七日通(6)
- 数据库设计经验谈(2)
- 外贸七日通(7)
- [服务器] 使用 Apache 反向代理实现负载均衡及热备
- 访问CMOS RAM
- Ogre,Blender笔记
- 内核对象
- Rubicon:从苏拉到奥古斯都
- 安装 bouncy castle
- Windows2003下安装Apache+php+jsp+mysql
- 人至贱则无敌
- 人生男女的30个经典幽默
- 侥幸