统计键盘输入字符和数字个数实验报告

统计键盘输入字符和数字个数实验报告

ID:42717919

大小:116.74 KB

页数:15页

时间:2019-09-21

统计键盘输入字符和数字个数实验报告_第1页
统计键盘输入字符和数字个数实验报告_第2页
统计键盘输入字符和数字个数实验报告_第3页
统计键盘输入字符和数字个数实验报告_第4页
统计键盘输入字符和数字个数实验报告_第5页
资源描述:

《统计键盘输入字符和数字个数实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、统计键盘输入字符和数字个数实验报告姓名:xx学号:xxx班级:xxx任课教师:xxx一、实验目的1.学习循环程序结构,掌握编写循环处理程序的方法和技巧。2.通过循环结构程序熟悉汇编语言程序设计的主要方法。3.了解和掌握程序设计过程中算法的选择。4.掌握汇编语言的调试方法。二、实验内容从键盘输入一系列字符(每种字符不超过9)并以回车符结束,统计出字母、数字及其它字符的个数,最后要在屏幕上显示计数结果。三、实验程序设计思路Y输入字符X判断X==‘换行’NN显示最后结果X>=‘0’REST++YX<=‘9’YNUMBER+++X>=‘A’NNREST++YX<=

2、‘Z’YCHAR++X>=‘a’NREST++X<=‘z’NYYCHAR++REST++N设计思路如上图所示:图中NUMBER记录统计的数字的个数,CHAR记录统计的字符的个数,REST统计其他字符的个数。一、实验结果分析输入:输入了12345asdASD-=输出如下:输出了NUMBER:5CHAR:6REST:2说明数字有5个,字符有6个,剩下的其他字符为2个一、实验体会通过本次实验学习并实践了循环程序,更深理解了跳转语句的用法和输入输出字符语句的用法,并且下次上机前要做准备,避免急躁。对本次试验的思考:此程序对某种类型的数最多只能显示9个,若统计个数超

3、过九个时怎么办?对程序最后显示部分稍加修改:以显示NUMBER为例子:EXIT:LEADX,STR1MOVAH,09HINT21HMOVAL,NUMBER;将NUMBER送到AL中MOVAH,0;对应百位数字MOVBL,100DIVBLMOVBL,AH;商在AH中MOVAH,2;显示最高位(余数在AL中(除以100的余数为最高位))ADDAL,30HMOVDL,ALINT21HMOVAL,BL;对应十位数字MOVAH,0MOVBL,10DIVBLMOVBL,AH;商在AH中MOVAH,2;显示中间位(余数在AL中(除以10的余数为中间位))ADDAL,30

4、HMOVDL,ALINT21HMOVDL,BL;对应个位数字ADDDL,30HMOVAH,2;显示个位INT21H输入12345678901ABCDEFGHIJK==输出:原理:16位DIV除法和二号调用三位数被放到AL中,先是除以100得到百位数字,而后除以10得到十位数字,和余下的个位数字。被除数在AX中,商在AL中,余数在AH中附件(实验代码,需要注释):DATASEGMENTNUMBERDB0;定义NUMBER为统计的数字个数CHARDB0;定义CHAR为统计的字符个数RESTDB0;定义REST为统计的其他字符个数STR1DB'NUMBER:',

5、'$';定义字符串,用来显示结果STR2DB'CHAR:','$'STR3DB'REST:','$'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXAGAIN:;循环体MOVAH,1;输入字符INT21HCMPAL,0DH;判断输入的字符等不等于'换行'JZEXIT;若等于换行符,就跳到显示最后结果步骤CMPAL,'0';若不等于‘换行’,和‘0’比较JNLNEXT1;若字符>=‘0’,跳到NEXT1INCREST;否则,REST++JMPAGAIN;跳回AGAIN,继续输入N

6、EXT1:CMPAL,'9';若字符<=‘9’JBEN1;则跳到N1,实现NUMBER++CMPAL,65;否则比较字符和'A'JNLNEXT2;若字符>=‘A’,跳到NEXT2INCRESTJMPAGAINNEXT2:CMPAL,90;比较字符和'Z'JBEN2;若字符<=‘Z’,跳到N2CMPAL,97;否则比较字符和'a'JNLNEXT3;若字符>='a',则跳到NEXT3INCREST;否则REST++JMPAGAIN;继续循环NEXT3:CMPAL,122;比较字符和'z'JBEN2;若字符<=‘z’,跳到N2INCREST;否则REST++JM

7、PAGAIN;继续循环N1:;N1体INCNUMBER;实现NUMBER++JMPAGAIN;和继续循环N2:;N2体INCCHAR;实现CHAR++JMPAGAIN;和继续循环EXIT:;输出LEADX,STR1;输出“NUMBER:”MOVAH,09HINT21HMOVDL,NUMBERADDDL,30H;因为MOVAH,2是显示字符,所以要显示数字,则显示数字的ASCII码MOVAH,2;显示统计的数字个数INT21HLEADX,STR2;输出“CHAR:”,为了美观,CHAR前面有一个空格MOVAH,09HINT21HMOVDL,CHARADDDL

8、,30H;CHAR加上30H再显示MOVAH,2;显示统计字符个数

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

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

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