汇编实验报告字符串处理

上传人:bin****86 文档编号:60169528 上传时间:2018-11-14 格式:DOCX 页数:8 大小:18.29KB
返回 下载 相关 举报
汇编实验报告字符串处理_第1页
第1页 / 共8页
汇编实验报告字符串处理_第2页
第2页 / 共8页
汇编实验报告字符串处理_第3页
第3页 / 共8页
汇编实验报告字符串处理_第4页
第4页 / 共8页
汇编实验报告字符串处理_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《汇编实验报告字符串处理》由会员分享,可在线阅读,更多相关《汇编实验报告字符串处理(8页珍藏版)》请在金锄头文库上搜索。

1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划汇编实验报告字符串处理实验六字符处理程序实验实验目的:1.熟悉串操作指令的功能与应用。2.掌握串操作指令的寻址方式及使用方法,编写常用的字符串处理程序。实验内容:1.字符串统计。自STRN开始的存储区中,有一个字符串,统计其中含有小写字母的个数,将统计结果以两位十进制数形式显示在屏幕上。2.在给定的字符串中,删除重复的字符,其余的字符向前递补。实验准备:1.熟悉字符处理的方法和字符处理程序的设计。2.认真预习有关串操作的指令及其寻址方式的特点,能够正确使用串操作指令,并准备好数据。3

2、.按正常的方法将删除字符程序编成子程序,规定子程序的入口和出口参数。实验步骤:1.用1号系统调用从键盘键入一个字符串,然后统计其中小写字母的个数。程序每次执行,都能得到不同的结果。2.实验2可参考教材第五章练习10的解法,但要编写一个在同一个字符串删除字符,并将其余字符向前递补的程序。实验报告要求:1.对照参考程序,画出程序流程图。2.总结字符串处理程序的编程方法,提出改进和完善此类程序的设计方案。程序清单:6-1统计小写字母个数;DATASEGMENTSTRNDB80DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAM

3、OVDS,AXLEADI,STRNMOVCL,0AGAIN:MOVAH,1INT21HCMPAL,0DHJZDONEMOVDI,ALINCDIINCCLJMPAGAINDONE:LEASI,STRNMOVCH,0MOVBL,0CLDCYCLE:LODSBCMPAL,61HJBNEXTCMPAL,7AHJANEXTINCBLNEXT:LOOPCYCLEMOVAL,BLMOVAH,0MOVCL,10DIVCLCHGAH,ALMOVBX,AXMOVDL,BHADDDL,30HMOVAH,2INT21HMOVDL,BLADDDL,30HINT21HMOVAH,4CHINT21HCODEENDSENDS

4、TART运行结果:用DEBUG分析程序:6-2删除字符串中重复字符;DATASEGMENTSTRNDB80DUP(?)LENDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVES,AXLEASI,STRNMOVCL,0AGAIN:MOVAH,1INT21HCMPAL,0DHJZDONEMOVSI,ALINCSIINCCLJMPAGAINDONE:MOVCH,0MOVLEN,CLDECSIREPET:PUSHSIPUSHCXPUSHCXPOPDXDECCXJENEXT1MOVAL,SICMP

5、AL,0JENEXT1COMP:DECSICMPAL,SIJNEGOONMOVBYTEPTRSI,0GOON:NEXT1:CYCLE:NEXT:DONE1:LOOPCOMPPOPOPSIDECSIDECDXMOVCX,DXJNZREPETLEASI,STRNMOVCL,LENMOVCH,0MOVSI+LEN-1,$INCCLMOVAL,SICMPAL,0JNZNEXTDECCXJZDONE1CALLDELEDECSIINCCXINCSILOOPCYCLEMOVAH,2MOVDL,0DHINT21HMOVDL,0AHDELEDELECODEINT21HLEADX,STRNMOVAH,9INT21

6、(来自:写论文网:汇编实验报告字符串处理)HMOVAH,4CHINT21HPROCPUSHSIPUSHCXCLDMOVDI,SIINCSIREPMOVSBPOPCXPOPSIRETENDPENDSENDSTART运行结果:汇编语言实验报告实验三字符串操作实验班级:姓名:学号:实验日期:实验三字符串操作实验一、实验要求和目的1了解汇编语言字符串处理基本流程;2熟悉汇编语言字符串处理基本指令的使用方法;3掌握利用汇编语言实现字符串处理的程序设计方法。二、软硬件环境1、硬件环境:计算机系统windows;2、软件环境:装有MASM、DEBUG、LINK、等应用程序。三、实验涉及的主要知识1、字符串处

7、理基本操作流程利用SI寄存器保存源串首地址;利用DI寄存器保存目的串首地址;利用CX寄存器保存字符串长度;利用CLD或STD指令设置字符串处理方向;利用字符串处理指令实现相关处理。其中,CLD指令使DF=0,在执行串处理指令时可使地址自动增量;STD使DF=1,在执行串处理指令时可使地址自动减量。提示:字符串处理一般都涉及到源串和目的串,汇编语言规定源串在数据段中定义,目的串在附加段中定义。2、重复前缀指令,重复次数由计数寄存器CX中存放的值决定,指令每重复执行一次,计数器CX中值减1,当CX中值减至0时,停止重复执行,继续执行下一条指令REP无条件重复前缀,重复串操作直到计数寄存器的内容CX

8、为0为止。经常与REP配合工作的字符串处理指令有MOVS、STOS和LODS。REPE/REPZ判断计数寄存器的内容CX是否为0或ZF=0,只要满足一个则重复执行结束,否则继续执行。可以与REPE/REPZ配合工作的串指令有CMPS和SCAS。REPNE/REPNZ判断计数寄存器的内容是否为0或ZF=1,只要满足一个则重复执行结束,否则继续执行。可以与REPE/REPZ配合工作的串指令有CMPS和SCAS。3、字符串处理基本指令MOVS传送指令格式:MOVSDST,SRC或MOVSB或MOVSW。后面两种形式需要与REP指令结合使用。该指令把由源变址寄存器指向的数据段中的一个字数据传送到由目的

9、变址寄存器指向的附加段中的一个字中去,同时,根据方向标志及数据格式对源变址寄存器和目的变址寄存器进行修改。STOS存入串指令格式:STOSDST或STOSB或STOSW。该指令把AL或AX的内容存入由目的变址寄存器指向的附加段的某单元中,并根据方向标志和数据类型修改目的变址寄存器的内容。LODS从串取指令格式:LODSSRC或LODSB或LODSW。该指令把由源变址寄存器指向的数据段中某单元的内容传送到AL或AX中,并根据方向标志和数据类型修改源变址寄存器的内容。CMPS串比较指令格式:CMPSSRC,DST或CMPSB或CMPSW。该指令把由源变址寄存器指向的数据段中的一个字节或字与由目的变

10、址寄存器所指向的附加段中的一个字节或字相减,但不保存结果,只根据结果设置条件标志。该指令与REPE/REPZ或REPNE/REPNZ结合,可以比较两个数据串。SCAS串扫描指令格式:SCASDST或SCASB或SCASW。该指令把AL或AX的内容与由目的变址寄存器所指向的附加段中的一个字节或字进行比较,并不保存结果,只根据结果设置条件码。该指令与REPE/REPZ或REPNE/REPNZ结合,可以从一个字符串中查找一个指定的字符。总的来说,字符串处理可以将缓冲区中一个数据块搬至存储器的另一处,比较两个字符串是否相等,从缓冲区中一个数据块寻找某一个特定的关键字,顺次从一个缓冲区取字符或顺次向一个

11、缓冲区存字符等。四、实验内容与步骤1、比较缓冲区中两字符串是否相同,相同则AL返回0,不同AL返回1。为了使程序的通用性比较好,字符串长度要求自动获取。2、编写程序,将内存中某一区域的数据传送到另一区域。3、编写程序,在已知字符串中搜索特定字符!,若找到则AL返回0,找不到AL返回1。4、编写程序,统计一串字符串中字符.出现的次数。;注意:同学自行给出字符串初始值加以验证以上各题程序。五、程序设计:实验1:先判断两个字符串的长度是否相等,若不相等,可直接判断两字符串不同;若相等,则CX等于字符串长度,循环依次判断每个对应字符是否相等,直至CX为0为止,有一对字符不相等则跳出循环,并判断两字符串不同,否则两字符串相同。流程图如下:实验3:使CX”,若是,则跳出循环并且AL返回0;若直至CX=0,仍无字符为“!”,则AL返回1。实验4:使CX等于字符串长度,依次判断第CX个字符是否为“.”,若是,则BX加1,否则不加,六、实验过程及结果:1.根据要求,设计程序如下:两字符串相同时:两字符串不同时:目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 总结/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号