王爽汇编语言 14章实验拓展

    技术2022-07-11  79

    实验要求:

    在屏幕上显示从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

    实验过程截图:

    Processed: 0.011, SQL: 9