王爽 汇编语言 第三版 实验14 访问 CMOS RAM

来源:互联网 发布:99家居软件 编辑:程序博客网 时间:2024/05/17 10:27

题目


编程,以“年/月/日 时:分:秒”的格式,显示当前的日期、时间。


源代码

assume cs:codedata segmentdb 'yy/MM/dd HH:mm:ss',0data endsindex segmentdb 9,8,7,4,2,0index endscode segmentmain:mov ax,datamov ds,axmov ax,indexmov es,axmov cx,6;循环6次mov di,0;es段的偏移地址mov si,0;ds段的偏移地址   s:push cxmov byte ptr al,es:[di];设置要访问的单元地址call getASCII;调用getASCIImov byte ptr ds:[si],ah;写入时间值的十位mov byte ptr ds:[si+1],al;写入时间值的个位inc di;自增1add si,3;每次增加3,指向下一个时间值pop cxloop scall showTime;打印系统时间信息mov ax,4C00Hint 21H;--------------------------------------------;名称:getASCII;功能:取得COMS RAM中存储的时间信息;参数:(al)=要访问的单元地址;返回:(ah)=ASCII码:十位,(al)=ASCII码:个位;--------------------------------------------getASCII:out 70H,al;向70H端口写入要访问的单元地址in al,71H;从71H端口取得指定单元中的数据mov ah,almov cl,4shr ah,cl;十位数码值and al,00001111B;个位数码值add ah,30Hadd al,30Hret;--------------------------------------------;名称:showTime;功能:向屏幕打印系统时间信息;参数:(ds)=数据的段地址;返回:无;--------------------------------------------showTime:mov ax,0B800Hmov es,axmov si,0mov di,0mov ch,0   print:mov cl,ds:[si]jcxz finishmov byte ptr es:[di],clinc siadd di,2jmp short print  finish:ret code endsend main

程序运行示例图



0 0
原创粉丝点击