鱼C论坛

 找回密码
 立即注册
查看: 2761|回复: 0

[汇编作业] 实验14

[复制链接]
发表于 2020-6-6 16:36:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
代码很长。。。加了一个死循环, 一直显示当前时间
assume cs:code

code segment
start:        
s0:
                mov cx, 2                ;死循环, 实时显示时间
                push cx
                
                
                mov bl, '/'
                mov si, 160 * 12 + 40 * 2 - 2
                
                mov cx, 3
                mov dl, 9
                                                ;显示年月日
s:
                mov al, dl
                call read
                add si, 2
                call show_2
                
                mov ah, bl
                add si, 4
                call show_1
                
                dec dl
                loop s
                                                ;空格
                mov bl, ' '
                mov ah, bl
                call show_1
                
                mov bl, ':'
                mov cx, 3
                mov dl, 4
                                                ;显示时间
s1:
                mov al, dl
                call read
                add si, 2
                call show_2
                
                mov ah, bl
                add si, 4
                call show_1
                
                sub dl, 2
                loop s1
                
                                                ;空格覆盖掉最后一个:
                mov bl, ' '
                mov ah, bl
                call show_1
                
                
                pop cx
                loop s0
                
                mov ax, 4c00H
                int 21H
read:
                                                ;读取CMOS RAM中的数据
                push cx
                
                out 70h, al
                in al, 71h
                
                mov ah, al
                mov cl, 4
                shr ah, cl
                and al, 00001111b
                
                pop cx
                ret
                
show_2:
                                                ;显示数字数据ah, al
                push es
                push bx

                mov bx, 0b800H
                mov es, bx
                
                add ah, 30h
                mov byte ptr es:[si], ah
                
                add al, 30h
                mov byte ptr es:[si + 2], al

                pop bx
                pop es
                ret
                
show_1:
                                                ;显示数据ah
                push es
                push bx

                mov bx, 0b800H
                mov es, bx
                
                mov byte ptr es:[si], ah

                pop bx
                pop es
                ret
code ends
end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-24 03:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表