第七章 串操作.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 串操作

7.3 表的处理 表的内容应按一定规则进行组织,以便于处理 表中的数据项可以是一个数、一个字符或一个字符串、甚至一组数据 表中各数据项的长度应相同 在一个表中进行插入,是把后面的数据项向后搬动 在一个表中进行删除,是把后面的数据项向前搬动 搬动的字节数视插入/删除的数据项的长度而定 例7.3.1 例7.3.2 习 题 P151 3、4 补 充:从string单元开始有一个字符互不相同的字符串,在char单元中存有一个字符,要求在string中查找char单元中的字符,若未找到,则置mark单元为0;若找到了,置mark单元为0FFH,同时从string中将该字符删除。 * 第七章 串操作 7.1 串操作指令 “串”是指存储器中的一段连续的字或字节单元。这些单元中存放的内容可以是字符或数据。 “串操作”就是对这些单元进行某种相同的操作。比如将一段数据从一个存储区传送到另一个存储区。 (4)使用重复前缀指令REP可以对多个字或字节进行重复操作。 (3)当标志位DF=0时,SI和DI的修改为递增,即加2(字操作)或加1(字节操作)。当DF=1时,SI和DI的修改为递减,即减2或减1。 (2)串操作指令每次只对串中的一个字或字节单元进行操作,并同时自动修改SI和(或)DI,使其指向下一个字或字节单元。 (1)串操作指令使用专用的寻址方式:源操作数地址由DS:[SI]提供,目的操作数由ES:[DI]提供。 1、取串指令 由于源串是由SI指定,如果程序中在执行该指令时已经明确是字或字节,则可以用无操作数指令LODSB(字节操作)或LODSW(字操作)替代。 该指令对标志无影响。 指令格式: LODS 源串 将源串中的一个字或字节内容送入AX或AL中,并根据DF修改SI。 作用: 2、存串指令 同样,指令可以用无操作数指令STOSB或STOSW替代。 该指令对标志无影响。 指令格式: STOS 目的串 作用: 将AX或AL中的内容送入目的串中的一个字单元或字节单元,并根据DF修改DI。 3、串传送指令 指令格式: MOVS 目的串,源串 同样,指令可以用无操作数指令MOVSB或MOVSW替代。 指令对标志无影响 作用: 将由SI指向的源串的一个字或字节传送到DI所指向的目的串中。并根据DF修改SI和DI。 4、串比较指令 指令格式: CMPS 源串,目的串 将源串中的一个字节或字减去目的串中的一个字或字节,结果不回送。但将影响标志寄存器。同时,将根据DF修改SI和DI。 同样,指令可以用无操作数指令CMPSB或CMPSW替代。 作用: 5、串有哪些信誉好的足球投注网站指令 指令格式: SCAS 目的串 查找的方法是:用AX或AL的内容减去目的串中的一个字或字节,相减的结果反映在标志寄存器中。每查找一次,将按照DF修改DI。 同样,指令可以用无操作数指令SCASB或SCASW替代。 作用: 在目的串中查找AX或AL指定的内容。 6、重复前缀指令 重复操作的次数由CX控制,每执行一次串操作指令,CX内容减1,直到CX内容为0。 指令格式:REP 为了方便对若干个字或字节进行多次同样的操作,可在上述各种指令的前面加上REP指令。 例如:REP MOVSB 假设在执行该指令前,DF=0,(SI)=0020H,(DI)=100H,(CX)=0030H。执行该指令将DS所指数据段中从0020H开始的30H个字节传送给当前附加段从0100H开始的存储区。如果改用不使用串操作指令,则它相当于下面的程序段: LOP:MOV AL,[SI] MOV ES:[DI],AL INC SI INC DI LOOP LOP * REPE/REPZ 重复执行串操作指令的条件是:(CX)≠0和ZF=1 * REPNE/REPNZ 重复执行串操作指令的条件是: (CX)≠0和ZF=0 由于这两条指令的执行要由标志位ZF来控制结束,而LODS、STOS和MOVS三条指令不影响标志,因此不适合于这些指令。 另外还有两条重复前缀指令: 7.2 串操作指令应用举例 例1 试编制一程序,在TXTBUF字符串中查找STRING指定的字符。若查到,则把该字符所在位置(1~n)送入INDEX单元中。若未查到,则把0FFH送INDEX单元中。 DATA SEGMENT TXTBUF DB ABCDEFGHIJKLMNOP CUNT EQ

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档