微机原理软件实验

微机原理软件实验

ID:41691500

大小:101.27 KB

页数:17页

时间:2019-08-30

微机原理软件实验_第1页
微机原理软件实验_第2页
微机原理软件实验_第3页
微机原理软件实验_第4页
微机原理软件实验_第5页
资源描述:

《微机原理软件实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、北京邮电大学微机原理软件实验报告实验:中断实验与编程班级:2011211124学号:2011210648姓名:邵泉源目录一、实验目的3二、实验任务及内容31、设计思路32、流程图43、程序说明54、源代码5三、实验结果51、编译162、连接163、运行16四、实验总结17一、实验目的编一程序,在显示器上显示时、分、秒。借用计数器8253的TimerO作为中断源,通过8259A向CPU发中断,每10ms产生一次中断。在中断服务程序中管理刷新时、分秒、、秒。输入文件名,(如CLK)后清屏显示:Currenttimeisxx:xx:xx(时分秒

2、键盘输入)打回车,时、分、秒开始计时。时钟不停的刷新。当键入ctrl+c吋,停止计吋,返冋系统,口系统正常运行不死机。日时钟显示范围00:00:00~23:59:59。二、实验任务及内容1、设计思路主程序负责:初始化寄存器、配置中断设置、清屏、读入起始时间、检查输入、把输入的时间存入数据段、刷新屏幕等工作。利用8253的TimerO计数,每10ms通过8259A向CPU发中断,在中断服务程序中计数满100次(即1秒),修改吋分秒在数据段中的数值。2、流程图3、程序说明①输入8位完整时间后(如00:59:06),自动开始计时,无需输入冋车。

3、②程序对输入的时间格式和范围有严格检查:时间格式:xx:xx:xx时间范围:00:00:00~23:59:59:只允许输入0~9(数字)及:(冒号),其他符号无效。③时钟运行时,键盘输入ctrl+C,正常退出程序,返回系统。4、源代码datasegmentcount100db100…计数器tenhourdbOhourdb0,丫tenmindbOminutedb0;:*tensecdb0…输入时刻seconddb0sidb'(00:00:00-23:59:59)Startingtimeis:$'s2db'("Ctrl+C”toexit)Cu

4、rrenttimeis:$'s3db*TimeFormatError!',13,10,'$'dataendsstacksegmentstack・…初始化堆栈db256dup(O)stackendscodesegmentassumeds:data,cs:code,ss:stack;CRLFMACROBEGINCRLFMACROmovah,02hmovdl,13int21hmovdlJOint21hENDM;CRLFMACROEND;checkMACROBEGINcheckMACROX,MIN,MAX;XistheinputcharLOCAL

5、ERR,MRETPUSHAXPUSHBXMOVAL,XMOVBL,MINMOVBH,MAXCMPAL,BLJLERRCMPAL,BHJGERRPOPBXPOPAXJMPMRETERR:movdx,offsets3movah,09hint21hJMPbeginMRET:NOPENDM;checkMACROENDstart:movax,datamovds,axmoves,ax;cleanthescreen清屏movah,6;initscreen,pagerollupmoval,0;thescreenisblankmovch,0;topleft

6、rowmovcl,0;topleftcolmovdh,42;bottomrightrowmovdl,79;bottomrightcolmovbhj;thecolorofchariswhiteintlOhbegin:movah,09hint21h;inputbeginmovbp,0movdi,offsettenhourmovah,Olhint21hmovbl,alibiisacopyofalcheckal,0,2mov[di],alincdimovah.Olhint21hcmpbl,2jetenhour2checkal/079'mov[di

7、],aljmpnextchartenhour2:checkal/0731mov[di],alnextchar:incdimovah,01hint21hcheckal,':',':'incdimovah,01hint21hcheckal;075*mov[di],alincdimovah.Olhint21hcheckal,0;9incbpcmpbpJjenextcharCRLF;inputend;setuptimerinterruptserviceroutineclimovax,0moves,axmovdi,20h;4*8=32=20hmov

8、ax,offsettimer;IPinLOWstosw;storeAXataddresES:(E)DI;DI+2AUTOmovax,cs;CSinHIGstosw;ProgramChannel

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。