《汇编语言程序设计》-相伟-电子教案第7章.ppt

《汇编语言程序设计》-相伟-电子教案第7章.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共37页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
21世纪高等院校规划教材 第7章 串操作程序设计 本章学习目标 通过本章学习,读者应该掌握以下内容: 串传送指令及程序设计 串比较指令及程序设计 串扫描指令及程序设计 串元素的存取指令及程序设计 7.1 串操作概述 在汇编语言中,所谓“串”是指存储在内存中的一片连续存储区域的数据。这些数据可以是字节数据,也可以是字数据;可以是用ASCII码表示的字符串数据,也可以是用压缩的BCD码或者非压缩的 BCD码表示的十进制数据;可以是无符号数,也可以是带符号数。所谓串操作就是指8086/8088CPU提供的一组可以对“串”进行处理的指令,它包括5个基本串操作指令和3个重复前缀指令。 1.串操作指令 ① 串操作指令采用隐含寻址。指令可以不带操作数,但在使用指令前必须给指令所隐含使用的寄存器赋值。 ② MOVS指令和CMPS指令是双操作数指令。其中源操作数存放在数据段中,由DS指出数据段的首地址,由SI指出源操作数在数据段中的偏移地址;目的操作数存放在附加数据段中,由ES指出附加数据段的首地址,由DI指出目的操作数在附加数据段中的偏移地址。 ③ LODS、STOS、SCAS指令都是单操作数指令。其中LODS指令的源操作数由DS:SI给出,目的操作数约定存放在AL或AX;STOS指令和SCAS指令的源操作数约定存放在AL或AX,目的操作数由ES:DI给出。 重复前缀指令 例如: REP MOVSB REPE CMPSB REPNE SCASB 7.2 串传送指令及程序设计 1.串传送指令 格式一:MOVS dest,src 指令的功能: ① 将SI指向的内存单元的值取出传送到DI指向的内存单元。 ② 根据DF的值及串的类型是字节还是字修改SI和DI,使SI和DI指向串的下一个元素。 具体情况如下: DF=0且是字节串,则 SI←SI+1,DI←DI+1; DF=0且是字串,则 SI←SI+2,DI←DI+2; DF=1且是字节串,则SI←SI-1,DI←DI-1; DF=1且是字串,则SI←SI-2,DI←DI-2; 格式二: MOVSB   MOVSW   指令的功能: ① 将SI指向的内存单元的值取出传送到DI指向的内存单元。 ② 根据DF的值及使用的指令是MOVSB 或MOVSW修改SI和DI,使SI和DI指向串的下一个元素。 具体情况如下: DF=0且使用MOVSB指令,则SI←SI+1,DI←DI+1; DF=0且使用MOVSW指令,则SI←SI+2,DI←DI+2; DF=1且使用MOVSB指令,则SI←SI-1,DI←DI-1; DF=1且使用MOVSW指令,则SI←SI-2,DI←DI-2; 串传送指令不影响状态标志位。 7.3 串比较指令及程序设计 ⒈ 串比较指令 格式一: CMPS dest,src 指令的功能: ① 执行(SI)-(DI),根据执行结果设置状态位,但执行结果不改变SI、DI所指向的内存单元的值。 ② 据DF的值及定义串时的类型属性是字节还是字修改SI和DI,使SI和DI指向串处理方向的下一个元素。 具体情况如下: DF=0且是字节串,则SI←SI+1,DI←DI+1; DF=0且是字串,则SI←SI+2,DI←DI+2; DF=1且是字节串,则SI←SI-1,DI←DI-1; DF=1且是字串,则SI←SI-2,DI←DI-2; 使用格式一的条件: ① src是在数据段DS中定义的源串,dest是在附加数据段ES中定义的目的串。 ② 指令规定用SI指向源串,用DI指向目的串。 ③ 根据具体情况决定串处理方向,根据串的处理方向设置DF的值。如果从串首到串尾处理串,必须设置DF=0(CLD);如果从串尾到串首处理串,必须设置DF=1(STD);源串和目的串的处理方向是一致的。 格式二: CMPSB   CMPSW   指令的功能: ① 执行(SI)-(DI),根据执行结果设置状态位,但执行结果不改变SI、DI所指向的内存单元的值。 ② 根据DF的值及使用的指令是CMPSB 或CMPSW修改SI和DI,使SI和DI指向串有哪些信誉好的足球投注网站方向的下一个元素。 具体情况如下: 如果DF=0且使用CMPSB指令,则SI←SI+1,DI←DI+1; 如果DF=0且使用CMPSW指令,则SI←SI+2,DI←DI+2; 如果DF=1且使用CMPSB指令,则SI←SI-1,DI←DI-1; 如果DF=1且使用CMPSW指令,则SI←SI-2,DI←DI-2; 使用格式二的条件: ① 源串在数据段DS中定义,目的串在附加数据段ES定义。 ② 指令规定用SI指向源串,用DI指向目的串。 ③ 根据具体情况决定串的处理方向,根据串的处理方向设置DF的值。如果从串首到串尾处理串,

文档评论(0)

经管专家 + 关注
实名认证
内容提供者

各类文档大赢家

版权声明书
用户编号:6055234005000000

1亿VIP精品文档

相关文档