资源描述:
《微机原理课程设计_显示日期时间_汇编课程设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、微机原理课程设计_显示日期时间_汇编课程设计双击可执行程序RQSZ.exe,在出现的提示信息中输入大写字母“D”,可显示系统当前日期;输入大写字母“T”,可显示系统当前时间;输入大写字母“Q”,可结束程序。微机原理课程设计_显示日期时间_汇编课程设计代码:STACKSEGMENTSTACKDW200DUP(?)STACKENDSDATASEGMENTSPACEDB1000DUP('')PATTERNDB6DUP(''),0C9H,26DUP(0CDH),0BBH,6DUP('')DB6DUP(''),
2、0BAH,26DUP(20H),0BAH,6DUP('')DB6DUP(''),0C8H,26DUP(0CDH),0BCH,6DUP('')DBUFFERDB8DUP(':'),12DUP('')DBUFFER1DB20DUP('')STRDB0DH,0AH,'PLEASEINPUTDATE(D)ORTIME(T)ORQUIT(Q):$'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOVAX,0001H;设置显示方式为4
3、0*25彩色文本方式INT10HMOVAX,DATAMOVDS,AXMOVES,AXMOVBP,OFFSETSPACEMOVDX,0B00HMOVCX,1000MOVBX,0040HMOVAX,1300HINT10HMOVBP,OFFSETPATTERN;显示矩形条MOVDX,0B00HMOVCX,120MOVBX,004EHMOVAX,1301HINT10HLEADX,STR;显示提示信息MOVAH,9INT21HMOVAH,1;从键盘输入单个字符INT21HCMPAL,44H;AL='D'?JNE
4、ACALLDATE;显示系统日期A:CMPAL,54H;AL='T'?JNEBCALLTIME;显示系统时间B:CMPAL,51H;AL='Q'?JNESTARTMOVAH,4CH;返回dos状态INT21HDATEPROCNEAR;显示日期子程序DISPLAY:MOVAH,2AH;取日期INT21HMOVSI,0MOVAX,CXMOVBX,100DIVBLMOVBL,AHCALLBCDASC1;日期数值转换成相应的ASCII码字符MOVAL,BLCALLBCDASC1INCSIMOVAL,DHCAL
5、LBCDASC1INCSIMOVAL,DLCALLBCDASC1MOVBP,OFFSETDBUFFER1MOVDX,0C0DHMOVCX,20MOVBX,004EHMOVAX,1301HINT10HMOVAH,02H;设置光标位置MOVDX,0300HMOVBH,0INT10HMOVBX,0018HREPEA:MOVCX,0FFFFH;延时REPEAT:LOOPREPEATDECBXJNZREPEAMOVAH,01H;读键盘缓冲区字符到AL寄存器INT16HJEDISPLAYJMPSTARTMOVAX
6、,4C00HINT21HRETDATEENDPTIMEPROCNEAR;显示时间子程序DISPLAY1:MOVSI,0MOVBX,100DIVBLMOVAH,2CH;取时间INT21HMOVAL,CHCALLBCDASC;将时间数值转换成ASCII码字符INCSIMOVAL,CLCALLBCDASCINCSIMOVAL,DHCALLBCDASCMOVBP,OFFSETDBUFFERMOVDX,0C0DHMOVCX,20MOVBX,004EHMOVAX,1301HINT10HMOVAH,02HMOVDX
7、,0300HMOVBH,0INT10HMOVBX,0018HRE:MOVCX,0FFFFHREA:LOOPREADECBXJNZREMOVAH,01HINT16HJEDISPLAY1JMPSTARTMOVAX,4C00HINT21HRETTIMEENDPBCDASCPROCNEAR;时间数值转换成ASCII码字符子程序PUSHBXCBWMOVBL,10DIVBLADDAL,'0'MOVDBUFFER[SI],ALINCSIADDAH,'0'MOVDBUFFER[SI],AHINCSIPOPBXRETB
8、CDASCENDPBCDASC1PROCNEAR;日期数值转换成ASCII码字符子程序PUSHBXCBWMOVBL,10DIVBLADDAL,'0'MOVDBUFFER1[SI],ALINCSIADDAH,'0'MOVDBUFFER1[SI],AHINCSIPOPBXRETBCDASC1ENDPCODEENDSENDSTART