微机原理实验_字符串处理程序

微机原理实验_字符串处理程序

ID:18450414

大小:397.50 KB

页数:7页

时间:2018-09-18

微机原理实验_字符串处理程序_第1页
微机原理实验_字符串处理程序_第2页
微机原理实验_字符串处理程序_第3页
微机原理实验_字符串处理程序_第4页
微机原理实验_字符串处理程序_第5页
资源描述:

《微机原理实验_字符串处理程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、明德至善博学笃行实验课程名称微机原理实验实验项目名称字符串处理程序实验指导老师学生姓名学院理学院专业电子信息科学与技术年级2008级(一)班学号实验时间2010年12月20日总成绩教师签名微型计算机原理实验6明德至善博学笃行1.实验目的⑴熟悉串操作指令的功能与应用。⑵掌握串操作指令的寻址方式及使用方法,编写常用的字符串处理程序。2.实验内容⑴字符串统计。字STRN开始的存储区中,有一个字符串,统计其中含有小写字母的个数,将统计结果以两位十进制数显示在屏幕上。⑵在给定的字符串中,删除重复的字符,其余的字符向前递进。3.实验准备⑴熟悉字符串处理的方法和字符处理程序的设计。⑵认真预习有关串操作的

2、指令及其寻址凡事的特点,能够正确使用串操作指令,并准备好数据。③按正常的方法将删除字符程序编成子程序,在规定子程序的入口和出口参数。4.实验步骤⑴用1号系统调用从键盘键入一个字符串,然后统计其中小写字母的个数。程序每次执行,都能得到不同的结果。;COUNTDC.ASMDATASEGMENTSTRNDB80DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEADI,STRNMOVCL,0AGAIN:MOVAH,1INT21HCMPAL,0DHJZDONEMOV[DI],ALINCDIINCCLJMPA

3、GAINDONE:LEASI,STRNMOVCH,0MOVBL,0CLDCYCLE:LODSB①CMPAL,61HJBNEXTMPAL,7AHCJANEXTINCBLNEXT:LOOPCYCLEMOVAL,BLMOVAH,0MOVCL,10DIVCLXCHGAH,ALPUSHAXMOVDX,0DHMOVAH,2INT21HMOVDX,0AHMOVAH,2INT21HPOPAXMOVDL,AHORDL,30HMOVAH,2PUSHAXINT21HPOPAXMOVDL,AL①ORDL,30H:微型计算机原理实验6明德至善博学笃行①INT21HPOPAXMOVDL,ALORDL,30HMOVAH

4、,2INT21HMOVAH,4CHINT21HCODEENDSENDSTART编译源程序:如下,发现地29行有错误。用EDIT命令找到错误地方,并进行修改,如下图所示:修改后保存程序,重新编译:微型计算机原理实验6明德至善博学笃行重新编译后程序没有错误,用反汇编查看指令代码:如下图所示:运行程序,验证程序设计结果的正确性。从键盘上输入字符串“ADKJjkdjfljdeowekdjg”,共二十个字符,其中小写字母十六个,显示结果如下:由运行结果可知,程序运行正确,实现了设计要求。②实验2课参考教材第五章练习10的解法,但要编写一个在同一个字符串中删除字符,并将其余字符向前递补。删除字符串中重

5、复字符的源程序清单:;DELD.ASMDATASEGMENTSTRNDB80DUP(?)LENDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVES,AXLEASI,STRN①MOVCL,0AGAIN:MOVAH,1①INT21HCMPAL,0DHJZDONEMOV[SI],ALINCSIINCCLJMPAGAINDONE:MOVCH,0MOVLEN,CLDECSI②MOVBYTEPTR[SI+1],'$'微型计算机原理实验6明德至善博学笃行REPEAT:PUSHSI②PUSHCXPU

6、SHCX;CX为内循环计数POPDX;DX为外循环计数DECCXMOVAL,[SI]CMPAL,0JENEXT1;若为空字符,则跳过COMP:DECSICMPAL,[SI]JNEGOON;为非重复字符MOVBYTEPTR[SI],0GOON:LOOPCOMP;查出与该字符重复的所有字符,并用0NEXT1:POPDXPOPSIDECSIDECDXMOVCX,DXJNZREPEAT;对所有重复字符都进行查找LEASI,STRN;删除重复字符MOVCL,LENMOVCH,0CYCLE:MOVAL,[SI]INCCLCMPAL,0;是重复字符吗?JNZNEXT;不是,查找下一个字符DECCX;递补

7、子串长度送CXJZALLDONECALLDELE;删除该空字符并递补③DECSINEXT:INCSI③LOOPCYCLEALLDONE:MOVDL,0AHMOVAH,2INT21HMOVDL,0DHMOVAH,2INT21HLEADX,STRNMOVAH,9INT21HMOVAH,4CHINT21HDELEPROCPUSHSIPUSHCXCLDMOVDI,SI;空字符处为目的首址INCSI;下一个地址为源串首址REPMO

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

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

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