实验要求:
在屏幕上显示从9到0倒数读秒
思路:
此时需要用到CMOS RAM内存放秒信息的0号单元地址 地址端口70h 数据端口71h
首先从CMOS RAM的0号单元读出当前秒的BCD码,将BCD码保存作为倒数9秒开始的标记 然后开始第二次的访问,将得到的BCD码与之前保存的进行比较,若相等证明间隔时间还没到1秒,若不等则证明间隔1秒,此时打印对应的字符到显示器上。(0-9对应的字符ASCII码值为30h-39h)
实现代码
assume cs:code
code segment
start: mov ax,0b800h
mov es,ax
mov al,0h
out 70h,al
in al,71h
mov ah,al
mov bx,160*12+80
mov si,39h
l: mov al,0h
out 70h,al
in al,71h
cmp al,ah
je l
mov es:
[bx
],si
mov byte ptr es:
[bx+1
],2h
dec si
cmp si,2fh
je x
mov ah,al
jmp short l
x: mov ax,4c00h
int 21h
code ends
end start
实验过程截图: