《微原软件报告》.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《《微原软件报告》.docx》由会员分享,可在线阅读,更多相关《《微原软件报告》.docx(164页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、微原软件报告微原软件报告word版 本文关键词:报告,软件,word微原软件报告word版 本文简介:微机原理软件试验报告学院:班级:学号:序号:姓名:试验二分支、循环程序设计一试验目的1.起先独立进行汇编语言程序设计。2.驾驭基本分支,循环程序设计。3.驾驭最简洁的DOS功能调用。二试验内容1.支配一个数据区,内存有若干个正数,负数和零。每类数的个数都不超过9。2.编写一个程序统计数据区中正数微原软件报告word版 本文内容:微机原理软件试验报告学院:班级:学号:序号:姓名:试验二分支、循环程序设计一试验目的1.起先独立进行汇编语言程序设计。2.驾驭基本分支,循环程序设计。3.驾驭最简洁的D
2、OS功能调用。二试验内容1.支配一个数据区,内存有若干个正数,负数和零。每类数的个数都不超过9。2.编写一个程序统计数据区中正数,负数和零的个数。3将统计结果在屏幕上显示。三流程图10起先DS,SS,CX,BX初始化与0相比Z=Z+1BX=BX+2结束数送入AXNB=B+1结果小于0YA=A+1NCX=0Y显示数据四源代码DATASEGMENTZDW0;数据中0的个数ADW0;数据中大于0的个数BDW0;数据中小于0的个数NUMDW9,8,0,-7,6,-5,-4,3,2,-1,0,-8,-1,9,0,0,1;设定的一组数据,其中4个0,7个正数,6个负数,符合题目要求NDW($-NUM)/2
3、;该组数据的个数TYPE0DB0DH,0AH,Numberofzeros:$TYPE1DB0DH,0AH,Numberofgreaterthan0:$TYPE2DB0DH,0AH,Numberoflessthan0:$LOCATEDWTYPE0,TYPE1,TYPE2DATAENDSSTACKSEGMENTSTACKDW128DUP(?)STACKENDSCODESEGMENTASSUMEDS:DATA,SS:STACK,CS:CODESTART:MOVAX,DATAMOVDS,AXMOVAX,STACKMOVSS,AX;初始化DS、SS指向STAMOVBX,OFFSETNUM;将NUM中第一
4、个数字的地址送入BXMOVCX,N;将N中数字个数送入CXLOOP1:MOVAX,BX;取出NUM中的第一个数字CMPAX,0;与零相比JZIFZ;推断结果为是0,跳转到IFZ处接着执行SALAX,1JCIFL;推断结果是小于0,跳转到IFLINCWORDPTRA;否则,A自加,然后接着执行程序JMPCONTINUEIFL:INCWORDPTRB;B计数加1JMPCONTINUEIFZ:INCZ;Z计数加1CONTINUE:ADDBX,2;指针+2,接着送入下一数字LOOPLOOP1;循环CX次推断MOVCX,3;共显示3个字符串XORBX,BXDISP:MOVDX,LOCATEBXMOVAH
5、,09H;DOS09号功能调用,显示字符串INT21HMOVDX,ZBXADDDX,0;转换为ASCII码MOVAH,02H;DOS02号功能调用,显示字符INT21HADDBX,2;指针+2(DW)LOOPDISPMOVAX,4C00HINT21H;返回DOS系统CODEENDSENDSTART五运行结果六预习题1.十进制数0-9所对应的ASCII码是什么?如何将十进制数0-9在屏幕上显示出来?答:09的ASCII码值依次为:30H,31H,32H,33H,34H,35H,36H,37H,38H,39H。用待显示数加30H即可得到对应ASCII码,将待显示数的ASCII码值赋给DX,运用“I
6、NT21H”02号DOS功能调用显示字符。2.如何检验一个数为正,为负或为零?你能举出多少种不同的方法?答:方法1:用test指令检查该数最高位。若为0,则为正数。否则,检测其余位推断为负数或0。方法2:用cmp指令将该数与0相比,推断标记寄存器。SFOF=0,为正数或0。否则为负数。试验三代码转换程序设计一试验目的1.驾驭几种最基本的代码转换方法。2.运用子程序进行程序设计。二试验内容1.从键盘上输入若干两位十进制数,找寻其中的最小值,然后在屏幕上显示出来。2.两个十进制数之间的分隔符,输入结束标记自定,但要在报告中说明。3.对输入要有检错措施,以防止非法字符输入,并有适当的提示。4.将整个
7、程序分解为若干模块,分别用子程序实现.在报告中要给出模块层次图。三模块层次图及流程图START输入数据排序,显示检错存储并显示十进制转换排序显示输入数据起先检错错B,BX,AL初始化小于大于AL中ASCII码值转换为对应十进制数NY此数赋值给B输出最小数结束回车YNBX=BX+1对BX指向的数与B比较比较结束四源代码DATASEGMENTADB100DUP(0)BDB100,0,$STRINGDB0DH,0AH,ERRORINPUT,0DH,0AH,$STRING1DB0DH,0AH,theminnumberis,0DH,0AH,$DATAENDSSTACKSEGMENTSTACKDW50DU
8、P(?)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKINPUTPROC;子程序PUSHAX;爱护寄存器内容PUSHBX;爱护寄存器内容PUSHCX;爱护寄存器内容PUSHDX;爱护寄存器内容STAR:MOVCX,0;起先,表示输入的数是否可以构成两位十进制数MOVBX,OFFSETAAGAIN:MOVAH,01H;输入INT21HCMPAL,30H;比较是否合法JBSHOWCMPAL,39HJASHOWMOVBX,AL;存储,推断是否一个字,不是接着输入,否则向下运行INCBXINCCXANDCX,1JNZAGAIN;CX若为0,输入了两
9、个数,可以构成一个两位十进制数MOVCX,0;推断下一输入字符MOVAH,01H;输入INT21HMOVBX,ALINCBXCMPAL,20H;推断是否空格:是,接着输入;否,推断是否为回车JZAGAINCMPAL,0DH;推断是否为回车JNZSHOW;都不是,就输入错误,重新输入JMPOKEY;是回车,就输入结束。否则结束子程序调用SHOW:MOVAH,09H;不合法显示错误重新输入MOVDX,OFFSETSTRINGINT21HJMPSTAROKEY:MOVBX,AL;输入结束POPDXPOPCXPOPBXPOPAXRETINPUTENDPCHANGEPROCPUSHAXPUSHBXPUS
10、HDXMOVBX,OFFSETAONCE:MOVAL,BX;读数SUBAL,30H;转化为16进制数INCBXMOVDL,10;转化为16进制数MULDLMOVDH,BXSUBDH,30HINCBXADDAL,DH;结果CMPAL,B;比较哪个最小JBYESCMPBYTEPTRBX,0DH;推断是否是回车JZLASTJMPONCEYES:MOVB,AL;最小数存于BCMPBYTEPTRBX,0DHJZLASTINCBXJMPONCELAST:NOPMOVAL,B;将数的个位和十位分别存储AH存个位AL存十位MOVAH,0MOVDL,10DIVDLADDAH,30H;转换为ASCII码ADDAL
11、,30HMOVB,AL;存到内存中MOVB+1,AHPOPDX;pop出原保存的寄存器数据POPBXPOPAXRETCHANGEENDPSTARTPROCFAR;主程序MOVAX,DATAMOVDS,AXCALLINPUT;调用输入子程序MOVAH,09HMOVDX,OFFSETSTRING1;显示提示性语句INT21HCALLCHANGE;调用比较子程序MOVAH,09HMOVDX,OFFSETB;显示最小数INT21HMOVAX,4C00HINT21HSTARTENDPCODEENDSENDSTART五运行结果六预习题1.如何将输入的两个字符(0-9)变为十进制或二进制数?答:将数的ASC
12、II码值减去30H,即可得到对应的十进制数。2.如何将选出的最小值(二进制或十进制)变为ASCII码再进行显示?答:用定义一个字节型数据存放十进制数(高四位表示十位,低四位表示个位)。运用cmp指令,先比较高四位,若小于,则和已存的数交换;若等于,则接着比较低四位,小于则交换。若等于,数不变。3.你觉得采纳二进制运算还是十进制运算更适合于这个试验?答:十进制更合适。试验四子程序设计一试验目的1.进一步驾驭子程序设计方法。2.进一步驾驭基本的DOS功能调用。二试验内容1.从键盘上输入某班学生的某科目成果.输入按学生的学号由小到大的依次输入2.统计检查每个学生的名次。3.将统计结果在屏幕上显示。4
13、.为便于视察,输入学生数目不宜太多,以不超过一屏为宜.输出应便于阅读.尽可能考虑美观。5.输入要有检错手段。三流程图检错起先初始化界面输入成果调用排序子程序显示结果falsetrue结束四源代码DATASEGMENTBUFFERDB100DB?DB10DUP(?)STR1DBpleaseinputthescoreofthestudents:,0DH,0AH,$STR2DBerror,pleaseinputthescoreagain:,0DH,0AH,$STR3DBnumrankscor,0DH,0AH,$;提示语句的字符串VAR1DW?VAR2DW?CKDB?TABDB100DUP(?)DAT
14、AENDSSTACKSEGMENTSTACKstackDB100DUP(s)STACKENDSCODESEGMENTPARAcodeASSUMECS:CODE,DS:DATA,SS:STACKSTARTPROCFARPUSHDSXORAX,AXPUSHAXMOVAX,DATAMOVDS,AX;初始化DSLEADX,STR1MOVAH,09H;调用DOS09号功能显示字符串STR1INT21HINPUT:LEADX,BUFFERMOVAH,0AH;调用DOS0A号功能,从键盘输入字符串并存储INT21HLEADI,TABXORCX,CXMOVAH,30HMOVDH,31HLEABX,BUFFER
15、+2CALLCHECK;调用检错子程序CMPCK,1JZINPUTCALLCOM;调用排序子程序MOVDL,0DHMOVAH,02H;调用DOS02号功能,显示DL字符INT21HMOVDL,0AHMOVAH,02HINT21HLEADX,STR3;调用DOS09号功能,显示字符串STR3MOVAH,09HINT21HCALLDISPY;调用送显程序RETSTARTENDPCHECKPROC;检验子程序NEXT1:MOVCK,0MOVDI,AHINCDIMOVDI,DHINCDICMPDH,39HJZL1INCDHJMPL2L1:MOVDH,30HINCAHL2:MOVAL,BXCMPAL,3
16、0HJBERRORCMPAL,39HJAERRORMOVDI,ALINCDIINCBXMOVAL,BXCMPAL,30HJBERRORCMPAL,39HJAERRORMOVDI,ALINCDIINCBXINCCXMOVAL,BXCMPAL,0DHJZFINISH1INCBXJMPNEXT1ERROR:LEADX,STR2;调用DOS09号功能,显示字符串STR2MOVAH,9INT21HMOVCK,1FINISH1:RETCHECKENDPCOMPROC;调用排序子程序COMP1:PUSHCXMOVVAR1,CXSHLCX,1SHLCX,1SUBCX,4MOVVAR2,CXPOPCXDECDI
17、DECDIJMPCOTICOMP2:ADDDI,VAR2COTI:MOVBL,0MOVCX,VAR1DECCXAGAN:MOVAL,DICMPAL,DI-4JAGOON1JBGOON3INCDIMOVAL,DICMPAL,DI-4PUSHFDECDIPOPFJAGOON1JBEGOON3GOON1:MOVBL,-1PUSHCXMOVCX,4DECDIDECDIGOON2:MOVAL,DIXCHGAL,DI-4MOVDI,ALINCDILOOPGOON2POPCXDECDIDECDIGOON3:DECDIDECDIDECDIDECDILOOPAGANCMPBL,0JNZCOMP2DECDIDEC
18、DIMOVCX,VAR1MOVBH,30HMOVBL,31HRETCOMENDPDISPYPROC;送显子程序DISPY1:MOVDL,BHMOVAH,02H;调用DOS02号功能,显示DL字符(学号)INT21HMOVDL,BLMOVAH,02HINT21HMOVDL,;调用DOS02号功能,显示DL字符(空格)MOVAH,02HINT21HINT21HINT21HMOVDL,DIMOVAH,02H;调用DOS02号功能,显示DL字符(排名)INT21HINCDIMOVDL,DIMOVAH,02HINT21HINCDIMOVDL,MOVAH,02H;调用DOS02号功能,显示DL字符(空格)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微原软件报告 软件 报告
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内