;获取当前时间的分钟
assume cs:code,ds:data
data segment
str db 0,0,'$'
data ends
code segment
start:
mov ax,data
mov ds,ax
mov bx,0
mov al,2
out 70H,al
in al,71H
mov dl,al ;临时存储分钟
and al,0fH ;获取分钟的个位数
add al,'0' ;将个位数字字符转化为ASCII码值
mov [bx+1],al ;存入第二个字节单元
mov al,dl ;将分钟再存入al中
mov ah,0 ;将ah置零,为将十位转化为各位做准备
mov dl,10H
div dl ;将十位转化为个位,存在al中
add al,'0' ;将十位数字字符转化为ASCII码值
mov [bx],al ;将十位数存储在第一个字节单元中
lea dx,str ;dx存储标号str的地址
mov ah,9H ;CRT显示
int 21H
mov ah,0 ;等待用户任意输入
int 16H
mov ax,4c00H ;返回操作系统
int 21H
code ends
end start
在CMOS RAM中,存放着当前的时间:年、月、日、时、分、秒。这6个信息的长度都为1个字节,存放单元为:
秒:0 分:2 时:4 日:7 月:8 年:9
这些数据以BCD码的方式存放。