在看书过程中遇到一个问题:
以“年/月/日 时:分:秒”的格式,显示当前的日期、时间。
我们知道 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





































































































































