北京理工大学汇编实验报告3

北京理工大学汇编实验报告3

ID:26317345

大小:328.63 KB

页数:23页

时间:2018-11-26

北京理工大学汇编实验报告3_第1页
北京理工大学汇编实验报告3_第2页
北京理工大学汇编实验报告3_第3页
北京理工大学汇编实验报告3_第4页
北京理工大学汇编实验报告3_第5页
资源描述:

《北京理工大学汇编实验报告3》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、本科实验报告实验名称:实验三字符串操作实验课程名称:课程设计Ⅰ(CPU与汇编)(实验)实验时间:第5-10周周五下午任课教师:聂青实验地点:10-102实验教师:苏京霞实验类型:☑原理验证□综合设计□自主创新学生姓名:罗逸雨学号/班级:112014120805211401组号:3学院:信息与电子学院同组搭档:专业:通信工程成绩:一、实验目的1)熟悉串操作指令的功能与应用;2)掌握串操作指令的寻址方式及使用方法,编写常用的字符串处理程序;3)了解汇编语言字符串处理基本流程;二、实验环境与原理1.实验软硬件环境1)硬件环境:惠普64位一体化计算机及局域网;2)软件环境:Windo

2、ws8,红蜘蛛管理系统,MASMforWindows。2.实验原理1)字符串操作流程wSI寄存器保存源串首地址;wDI寄存器保存目的串首地址;wCX寄存器保存字符串长度;wCLD或STD指令设置字符串处理方向;w当CLD指令使DF=0在执行串处理指令时可使地址自动增量;STD使DF=1,在执行串处理指令时可使地址自动减量。2)重复前缀指令w重复次数由计数寄存器CX中存放的值决定,指令每重复执行一次,计数器CX中值减1,当CX中值减至0时,停止重复执行,继续执行下一条指令。w当REP无条件重复前缀,重复串操作直到计数寄存器的内容CX为0为止。经常与REP配合工作的字符串处理指令

3、有MOVS、STOS和LODS。w当REPE/REPZ判断计数寄存器的内容CX是否为0或ZF=0(即比较的两个操作数不等),只要满足一个则重复执行结束,否则继续执行。可以与REPE/REPZ配合工作的串指令有CMPS和SCAS。w当REPNE/REPNZ判断计数寄存器的内容是否为0或ZF=1(即比较的两个操作数相等),只要满足一个则重复执行结束,否则继续执行。可以与REPE/REPZ配合工作的串指令有CMPS和SCAS。3)字符串操作指令wlodsb、lodsw:把DS:SI指向的存储单元中的数据装入AL或AX,然后根据DF标志增减SI;wstosb、stosw:把AL或AX

4、中的数据装入ES:DI指向的存储单元,然后根据DF标志增减DI;wmovsb、movsw:把DS:SI指向的存储单元中的数据装入ES:DI指向的存储单元中,然后根据DF标志分别增减SI和DI;wscasb、scasw:把AL或AX中的数据与ES:DI指向的存储单元中的数据相减,影响标志位,然后根据DF标志分别增减SI和DI;wcmpsb、cmpsw:把DS:SI指向的存储单元中的数据与ES:DI指向的存储单元中的数据相减,影响标志位,然后根据DF标志分别增减SI和DI;wrep:重复其后的串操作指令。重复前先判断CX是否为0,为0就结束重复,否则CX减1,重复其后的串操作指令

5、。主要用在MOVS和STOS前。一般不用在LODS前。上述指令涉及的寄存器:段寄存器DS和ES、变址寄存器SI和DI、累加器AX、计数器CX。涉及的标志位:DF、AF、CF、OF、PF、SF、ZF。三、实验步骤1)编写程序,比较两个字符串BUF1和BUF2所含的字符是否相同,相同则AL返回0,不同AL返回1,字符串长度要求自动获取,要求用字符串处理方法。提示:输入两个字符串之后,将串操作所必须的寄存器等参数设置好,然后使用串操作指令进行从头到尾的比较,两个字符串相等的条件是串长度相等且对应的字符相同。2)编写程序,设有一字符串存放在以BUF为首址的数据区中,其最后一字符‘$’

6、作为结束标志,计算该字符串的长度并输出。提示:从串的第一个字符开始统计,直到遇到定义的字符串结束符为止,看看在这个过程中总共有多少个字符,即求得串的长度。3)编写程序,将内存中BUF1某一区域的数据传送到另一区域BUF2中,要求用字符串处理方法。4)编写程序,在已知字符串中搜索特定字符‘#’,若找到则AL返回0,找不到AL返回1,要求用字符串处理方法。5)编写程序,统计一串字符串中字符"&"出现的次数,要求用字符串处理方法。6)编写程序,设有一字符串已存放在STRBUF为首址的数据区中,编一程序找出其中的‘#’字符,如果字符串中不存在‘#’字符则应该输出“Notfound”。

7、四、程序清单与框图(1)DATASSEGMENTBUF1DB20,?,20DUP(?)COUNT1EQU$-BUF1BUF2DB20,?,20DUP(?)DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,ES:DATASSTART:MOVAX,DATASMOVDS,AXMOVES,AXLEADX,BUF1;输入字符串BUF1MOVAH,0AHINT21HMOVDL,0AH;输出回车、换行MOVAH,02HINT21HMOVDL,0DHMOVAH,02HINT21H

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

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

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