




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、实验要求和目的1了解汇编语言字符串处理基本流程;2熟悉汇编语言字符串处理基本指令的使用方法;3掌握利用汇编语言实现字符串处理的程序设计方法。二、软硬件环境1、硬件环境:计算机系统 windows;2、软件环境:装有 MASM、DEBUG、LINK、等应用程序。三、实验涉及的主要知识1、字符串处理基本操作流程 (1)利用 SI 寄存器保存源串首地址;(2)利用 DI 寄存器保存目的串首地址;(3)利用 CX 寄存器保存字符串长度; (4)利用 CLD 或 STD 指令设置字符串处理;(5)利用字符串处理指令实现相关处理。其中,CLD 指令使 DF=0,在执行串处理指令时可使地址自动增量;ST
2、D 使 DF=1,在 执行串处理指令时可使地址自动减量。 提示:字符串处理一般都涉及到源串和目的串,汇编语言规定源串在数据段中定义,目 的串在附加段中定义。 2、重复前缀指令,重复次数由计数寄存器 CX 中存放的值决定,指令每重复执行一次, 计数器 CX 中值减 1,当 CX 中值减至 0 时,停止重复执行,继续执行下一条指令REP 无条件重复前缀,重复串操作直到计数寄存器的内容 CX 为 0 为止。经常与 REP 配合工作的字符串处理指令有 MOVS、STOS 和 LODS。 REPE/REPZ 判断计数寄存器的内容 CX 是否为 0 或 ZF=0(即比较的两个操作数不等), 只要满足一个则
3、重复执行结束,否则继续执行。可以与 REPE/REPZ 配合工作的串指令有CMPS 和 SCAS。 3、字符串处理基本指令 (1)MOVS 传送指令 格式:MOVS DST,SRC 或 MOVSB(传送字节)或 MOVSW(传送字)。后面两种 形式需要与 REP 指令结合使用。该指令把由源变址寄存器(SRC)指向的数据段中的一个字(或字节)数据传送到由 目的变址寄存器(DST)指向的附加段中的一个字(或字节)中去,同时,根据方向标志及 数据格式(字或字节)对源变址寄存器和目的变址寄存器进行修改。 (2)STOS 存入串指令格式:STOS DST 或 STOSB(存入字节)或 STOSW(存入字
4、)。该指令把 AL 或 AX 的内容存入由目的变址寄存器指向的附加段的某单元中,并根据方 向标志(DF)和数据类型修改目的变址寄存器的内容。(3)LODS 从串取指令 格式:LODS SRC 或 LODSB(取字节)或 LODSW(取字)。该指令把由源变址寄存器指向的数据段中某单元的内容传送到 AL 或 AX 中,并根据方 向标志和数据类型修改源变址寄存器的内容。(4)CMPS 串比较指令格式:CMPS SRC,DST 或 CMPSB 或 CMPSW。该指令把由源变址寄存器指向的数据段中的一个字节或字与由目的变址寄存器所指向 的附加段中的一个字节或字相减,但不保存结果,只根据结果设置条件标志。
5、该指令与 REPE/REPZ 或 REPNE/REPNZ 结合,可以比较两个数据串。(5)SCAS 串扫描指令格式:SCAS DST 或 SCASB 或 SCASW。该指令把 AL 或 AX 的内容与由目的变址寄存器所指向的附加段中的一个字节或字进行 比较,并不保存结果,只根据结果设置条件码。该指令与 REPE/REPZ 或 REPNE/REPNZ 结合,可以从一个字符串中查找一个指定的字符。总的来说,字符串处理可以将缓冲区中一个数据块搬至存储器的另一处,比较两个字符 串是否相等,从缓冲区中一个数据块寻找某一个特定的关键字,顺次从一个缓冲区取字符或 顺次向一个缓冲区存字符等。四、实验内容与步骤
6、1、比较缓冲区中两字符串是否相同,相同则 AL 返回 0,不同 AL 返回 1。为了使程序的 通用性比较好,字符串长度要求自动获取。(要求用字符串处理方法) 实验流程图输入str1、str2开始 分别将str1、str2首地址传送到SI、DI寄存器计算str1、str2的字符串长度并保存到相应寄存器不相等若相等 不相等将AL赋值为1比较字符串长度 字符进行比较 将AL赋值0 结束代码DATAS SEGMENT DATAS ENDSextra SEGMENT str1 db 'Hello.orld!$' leng1 dw ($-str1) str2 db 'Hello.w
7、orld!$' leng2 dw ($-str2) extra ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,es:extraSTART: MOV AX,DATAS MOV DS,AX MOV AX,EXTRA MOV ES,AX MOV AL,1 MOV BX,LENG1 MOV DX,LENG2 CMP BX,DX JNZ N JMP CON N: MOV AL,1 JMP OVER CON: LEA SI,STR1 LEA DI,STR2 MOV CX,LENG1 CLD REPE CMPSB JCXZ Y Y: MOV AL,0 JMP
8、OVER OVER: MOV AH,4CH INT 21HCODES ENDSEND START因为没有拍照片,所以没有保存调试结果,但是在上机调试的过程中实验是正确的。2、 编写程序,将内存中某一区域的数据传送到另一区域。(要求用字符串处理方法) 开始 输入数据 CX=字符串长度 Y CX等于0?N 复制字符CX=CX-1 结束DATAS SEGMENT str1 db 'Hello.orld!$' leng1 dw ($-str1)DATAS ENDSextra SEGMENT str2 db 30 dup(0) leng2 dw ($-str2)extra ENDSCOD
9、ES SEGMENT ASSUME CS:CODES,DS:DATAS,es:extraSTART: MOV AX,DATAS MOV DS,AX MOV AX,EXTRA MOV ES,AX LEA SI,STR1 LEA DI,STR2 MOV CX,LENG1 CLD REP MOVSB MOV AH,4CH INT 21HCODES ENDS END START3、 编写程序,在已知字符串中搜索特定字符!,若找到则 AL 返回 0,找不到 AL 返回 1。 (要求用字符串处理方法) 将str1首地址传送到ES段DI寄存器 将str1长度存到CX将待搜索字符!存到AL未找到用scasb重
10、复搜索! 若找到将AL赋值为0将AL赋值为1结束DATAS SEGMENT DATAS ENDSextra SEGMENT str1 db 'Hello.world!$' leng1 dw ($-str1)extra ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,es:extraSTART: MOV AX,DATAS MOV DS,AX MOV AX,EXTRA MOV ES,AX LEA ax,str1 mov di,ax MOV al,'!' mov cx,leng1 cld repnz scasb jcxz n jm
11、p o n: MOV bx,1 JMP OVER o: MOV bx,0 jmp over over: mov ax,bx mov ah,4ch int 21hCODES ENDSEND START4、 编写程序,统计一串字符串中字符"."出现的次数。(要求用字符串处理方法);开始定义初始字符串str1.的数目存在BX,BX初始值为0用字符串搜索的方法搜索.未找到若找到BX值加一CX=0结束是否DATAS SEGMENT DATAS ENDSextra SEGMENT str1 db 'Hello.orld!$' leng1 dw ($-str1)extra ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,es:extraSTART: MOV AX,DATAS MOV DS,AX MOV AX,EXTRA MOV ES,AX mov bx,0 LEA ax,STR1 mov di,ax MOV al,'.' mov cx,leng1 cld l: repnz scasb jcxz over inc bx jmp l over: mov ax,bx mov a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 盐城幼师考编试题及答案
- Z世代消费心理洞察:2025年新消费品牌情感价值塑造策略报告
- 天然气勘探开发技术创新与市场前景分析报告
- 能源与资源行业:能源行业供应链风险管理研究报告
- 班组自查报告
- 新消法考试题及答案
- 江苏省苏州市昆山市、太仓市2025年第二学期普通高中半期考试初三数学试题含解析
- 四川省广元市重点中学2024-2025学年初三(普通班)下学期期末考试生物试题试卷含解析
- 安全管理与施工效率的关系试题及答案
- 木工画图考试题及答案
- 基于深度学习的图像修复算法研究
- 隐私与保密信息管理制度
- 《隧道防火保护板系统技术规程》
- 2025年安徽黄山旅游集团招聘笔试参考题库含答案解析
- 中铜国际贸易集团有限公司招聘笔试冲刺题2025
- 商演服务合同
- 《建筑采光分析》课件
- 海洋机器人与人工智能知到智慧树章节测试课后答案2024年秋哈尔滨工程大学
- 上海市境内旅游合同 示范文本(2013版)
- 钢构制品加工协议
- “煎炒烹炸”与中药疗效(安徽中医药大学)知道智慧树章节答案
评论
0/150
提交评论