鱼C论坛

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

[汇编作业] 第14章检测实验及笔记

[复制链接]
发表于 2016-1-29 17:39:13 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 yundi 于 2016-1-29 18:27 编辑

实验14

QQ截图20160129182552.jpg

哈哈
;以“年/月/日 时:分:秒”的格式显示当前日期、时间 
assume cs:code
data segment
        db 'yy/mm/dd hh:mm:ss','#';#换成美元符$
sf        db 0,3,6,9,12,15;保存上一行格式串的偏移位置
rf     db 9,8,7,4,2,0;保存cmos ram端口下的n号单元
data ends
code segment
start:
        
        mov ax,data
        mov ds,ax;设数据段
        mov cx,6;循环次数
        mov si,0;用偏移取到sf,rf的数据
s1: 
        ;循环取出cmos ram第n号单元的信息
        call getinfo
        ;取到的值转成字符并保存到指定位置ds:[bx] 
        call saveinfo;调用时ah al 保存着getinfo取得的信息 
        inc si
        loop s1
        ;循环结束
        ;在屏幕指定位置显示字符串,用中断方式
        mov dx,0
        mov ah,9
        int 21h

        mov ax,4c00h
        int 21h
        
getinfo:        
        mov al,byte ptr ds:[offset rf+si];要读的单元号n=ds:[offset rf+si]
        out 70h,al
        in al,71h
        mov ah,al
        ret
        
saveinfo:
        xor bh,bh
        mov bl,byte ptr ds:[offset sf+si];取得格式字符串要修改的位置的偏移值,存到bx
        ;在ah中处理高位,
        push cx
        mov cl,4
        shr ah,cl
        add ah,30h
        pop cx
        mov ds:[bx],ah;保存xx的高位到格式字符串中
        ;在al中处理低位,
        and al,00001111b
        add al,30h
        mov ds:[bx+1],al;保存xx的低位到格式字符串中
        ret

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 12:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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