编程,以“年/月/日 时:分:秒”的格式,显示当前的日期、时间。
assume cs:code
data segment
db '00/00/00 00:00:00','$' ;定义显示的年月日,时钞分格式空间,$自动换行
db 9,8,7,4,2,0 ;定义存放时间信息空间
data ends
code segment
start:
mov ax,data ;取得段地址
mov ds,ax
mov di,0
mov si,18 ;data中第二组数据 上面空间0-17个字节
mov cx,6 ;循环6次
s:
mov al,[si]
out 70h,al
in al,71h ;取cmos_ram的地址和数据信息
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b ;取bcd码解压缩
add ah,30h
add al,30h ;解压后的bcd码转为ascll码
mov [di],ah ;显示高位10位
mov [di+1],al ;显示低位个位
inc si ;下一个源地
add di,3 ;下一个目地地址
loop s
mov ah,2 ;光标位
mov bh,0 ;页号
mov dh,12 ;行号
mov dl,20 ;列号
int 10h;屏幕输出中断
mov ax,data
mov ds,ax ;ds和data挂钩
mov dx,0 ;ds:dx指向data:0
mov ah,9 ;调用中断21中的9号子程序,光标位显示字符串
int 21h ;程序返回中断
mov ax,4c00h
int 21h
code ends
end start