汇编分类统计字符个数.doc

汇编分类统计字符个数.doc

ID:52713199

大小:28.00 KB

页数:6页

时间:2020-03-29

汇编分类统计字符个数.doc_第1页
汇编分类统计字符个数.doc_第2页
汇编分类统计字符个数.doc_第3页
汇编分类统计字符个数.doc_第4页
汇编分类统计字符个数.doc_第5页
资源描述:

《汇编分类统计字符个数.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、分类统计字符个数一、实验目的通过编程实现字符进行分类统计。利用DOS功能调用INT21H的10<0Ah)号功能,掌握进行键盘输入字符串的方法以及数据区设置。掌握8086指令:CMP、JB、JA、SHL、INC、LEA、INT、JNZ、SCASB、LOOPE/LOOPNE等。b5E2RGbCAP二、实验内容1、编写一个程序实现将数据段中存储在STRING处到NUM处的字符串进行分类统计,然后将结果存入以letter、digit和other为名的存储单元中。查找字符串STRING中是否有空格,如有找出第一个出现的位置<先用十六进制显示,后修改为十进制显示

2、),否则输出N。p1EanqFDPw2、修改前述1的程序,实现从键盘输入一个以回车键作为结束符的字符串<字符个数不超过80个),存入BUF中,分类统计BUF中字符串,将结果存入以letter、digit和other为名的存储单元中,屏幕输出大小写字母个数、数字个数和其它字符个数,并查找字符串BUF中是否有空格,如有找出第一个出现的位置<用十进制显示),否则输出N。<对有余力的同学)DXDiTa9E3d实验结果:DEBUG调试并查看结果的正确性。对存储区STRING的内容“12ABCDE#!@Y(78>=(1>.”屏幕显示:N对存储区STRING的内容

3、“12ABCDE#!@Y(78>=(1>.”屏幕显示:Place=7对第2部分,如键盘输入12ABCDE#3456789143!@Y(78>=(1>.回车输出结果:Letter=6Digit=15Other=9Place=9三、分析与体会本次实验我花了较长的时间来完成。初略的程序花了5个多小时完成。后来遇到转换为十进制的时候就卡住了。后来在第六周周三的时候听了课以后才会做。RTCrpUDGiT第一个代码很长,有340多行代码。其实核心代码不多。主要是每一次转换为16进制以及10进制的时候,重复了相同的代码。还有换行也重复了几次。5PCzVD7HxA第

4、二个代码不同的是自己输入字符。我自学了子程序。然后把转换为10进制和输出换行设置成了子程序。精简了代码。jLBHrnAILg6/6四、代码键盘输入字符串,分类统计STACKSSEGMENTSTACKDW128DUP(?>STACKSENDSDATASSEGMENT  STRINGDB100DUP(?>NUMDW? STR1DB'Letter=$'STR2DB'Digit=$'STR3DB'Other=$'STR4DB'Place=$'DIGITDW0OTHERDW0LETTERDW0PLACEDW?FLAGDW0 DATASENDSCODESSEGM

5、ENTMAINPROCFARASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXMOVSI,0INPUT:MOVAH,1INT21H。输入一个字符,存到ALCMPAL,0DH。判断是否是回车JENEXT0。是回车输入就结束MOVSTRING[SI],ALINCSIJMPINPUTNEXT0:MOVNUM,SIMOVBX,NUMLEASI,STRINGNEXT:MOVAL,[SI]CMPAL,30HJBCOTHER。小于30H是其他字符CMPAL,3AHJBECDIGIT。30H-3AH是数字CMPAL,41

6、H6/6JBCOTHER。3AH-40H是其他字符CMPAL,5AHJBECLETTER。41H-5AH是大写字母CMPAL,61HJBCOTHER。5BH-60H是其他字符CMPAL,7AHJBECLETTER。61H-7AH是小写字母。大于7AH是其他字符COTHER:INCOTHERJMPP2CDIGIT:INCDIGITJMPP2CLETTER:INCLETTERJMPP2P2:DECBXJZOUTPUTINCSIJMPNEXTOUTPUT:CALLPRIENTERMOVAH,9。letterMOVDX,SEGSTR1MOVDS,DXMOVD

7、X,OFFSETSTR1INT21HMOVBX,LETTERCALLTOTEN。调用转换为十进制的子程序CALLPRIENTER。调用换行MOVAH,9。digitMOVDX,SEGSTR2MOVDS,DXMOVDX,OFFSETSTR2INT21HMOVBX,DIGITCALLTOTENCALLPRIENTERMOVAH,9。otherMOVDX,SEGSTR3MOVDS,DXMOVDX,OFFSETSTR36/6INT21HMOVBX,OTHERCALLTOTENCALLPRIENTERMOVAH,9。spaceMOVDX,SEGSTR4MOVD

8、S,DXMOVDX,OFFSETSTR4INT21HMOVBX,NUM。找第一个空格的位置LEASI,STR

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

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

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