资源描述:
《微机原理软件实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
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