实验任务:
编程,以“年/月/日 时:分:秒”的格式,显示当前的日期、时间。
注意:CMOS RAM 中存储着系统的配置信息,除了保存时间信息的单元外,不要向其它的单元中写入内容,否则将引起一些系统错误。
初始版代码
assume cs:code
stack segment
dw 16 dup (0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,32
mov ax,0b800h
mov es,ax
mov di,160*12+40*2
;年/月/日 时:分:秒 位置分别为9 8 7 4 2 0
;从0-9位置都读出,依次放入栈中,打印时弹栈,注意要把不需要的数据也要弹出
mov cx,10
mov dx,cx
mov bl,0
s:
mov al,bl
out 70h,al
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
add ah,30h
add al,30h
push ax
inc bl
mov cx,dx
dec dx
loop s
pop ax;打印年
mov byte ptr es:[di],ah
mov byte ptr es:[di+2],al
mov byte ptr es:[di+4],'/'
pop ax;打印月
mov byte ptr es:[di+6],ah
mov