资源描述:
《微机原理第三次实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验三DOS中断调用实验实验报告健行理工1402班陈丽红201424450202、实验目的掌握字符和数据的显示方法。实验内容先显示信息"INPUTSTRING,THEENDFLAGIS$”再接收字符。如为0-9,则计数器加1,并显示计数,如为非数字,则直接显示,但不计数。三、程序框图显示计数结果四、程序说明本次实验重点在于了解中断调用的步骤:(1)准备入口参数;(2)功能号送AH;(3)执行INTn命令,熟练掌握向量号21H的部分常用功能调用。程序设计时通过对输入的字符进行判断,根据判断结果进入不同的了程序段运行,显示运行结果。五.源程序清单与执行结果5
2、」源程序清单-DATADID2DATASTACKDB100STACKSEGMENT;定义数据段,DB'INPUTSTRING,THEDBODH,OAH,'$'D1,ENDSSEGMENTSTACK;定义堆栈段DUP(?)ENDSDATA为LASTFLAGIS',D2中ODH,OAH,'$'段名,将信息存放在CODESEGMENT;说明代码段、数据段、堆栈段ASSUMECS:CODE,DS:DATA,SS:STACKMOVMOVMOVJMPMOVINTMOVMOVINTMOVMOVINTMOVMOVTNTBG:QUT:DISP:L1:AX,DATADS,A
3、XBX,0LIAH,4CH21HDX,OFFSETD2AH,9H21HAH,2HDL,AL21HDX,OFFSETD2AH,9H21H;给DS赋段值;数字字符计数器BX清0;跳转至L1:返回DOS;输岀冋车换行;显示AL中的字符内容;输出回车换行MOVDX,OFFSETDIAH,9H21HAH,1H21HAL,'$'MOVINTMOVTNTCMP;输出“INPUTSTRING,THEENDFLAGIS”:键盘输入并显示JEQUI;是则调用QUI,返回DOSCMPAL,ODH;判断输入字符是否为回车,是则输出JNEL2回年换彳亍,进入下一次L1循环,不是M
4、OVDX,OFFSETD2则跳转至L2MOVAH,9H1NT21HJMPLIL2:CMPAL,'9';判断输入字符是否为0-9,是则计数JADISP器BX加1,不是则跳转至DISPCMPAL,'0'JBD1SPINCBXPUSHBX;将BX的内容压入堆栈,保存ADDBX,30H;将BX中的数值转化为ASCII码MOVDX,OFFSETD2;输出换行MOVAH,9H1NT21HMOVAH,2H;显示计数MOVDL,BLINT21HPOPBX;弹出BX的内容JMPLICODEENDSENDBG5.2执行结果截图(l)接收字符为0-9,il-数器加1,并显示让
5、数。囲DOSBox0.74,Cpuspeed:3000cycles,Frameskip0fProgram:TEST-Z:>mountce:masmDriueCismount巳daslocaldirectoryeZ:>c:C:>testtxEINPUTSTRING,TBELASTFLAGIS31INPUTSTRING,1BELASTFLAGIS92INPUTSTRING,THELASTFLAGIS□3INPUTSTRING,theLASTFLAGISB4INPUTSTRING,uTHELASTFLAGISI>5INPUTSTRING,theLAST
6、FLAGIS(2)接收字符为非数字,则直接显示,但不计数,接收字符为0・9时继续计数。(3)接收子符为返回DOS。瞬DOSBox0.74rCpuspeed:3000cycles,Frameskip0rProgram:DOS…-INPUTSTRING,1BELAST7r□INPUTSTRING,LJTHELASTyINPUTSTRING,nITHELAST<、IINPUTSTRING,THELAST/•INPUTSTRING,1HIELAST1INPUTSTRING,THELASThhINPUTSTRING,THELASTB7INPUTSTRING,THE
7、LASTFLAGFLAGFLAGFLAGFLAGFLAGFLAGFLAGIS>