- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浙工大微机原理及应用PPT 第3章指令系统2.ppt
浙工大信息学院 浙工大信息学院 第三章 串操作指令 串操作指令 概 念 举 例 浙工大信息学院 概念 1)“串”:存储器中一序列字或字节单元 “串操作”:对这一序列字或者字节进行某种相同的操作 2)独有的隐含寻址方式: 3)每条串操作指令每次仅对串中一个字或者字节单元进行操作,且同时自动修改SI/DI,使其指向下一个字或者字节。 4)修改SI,DI,递增or递减由DF决定 5)对串中多个字或字节进行串操作,可用重复前缀指令,重复次数由CX确定。 浙工大信息学院 1、取源串 格式: LODS 源串 作用: 把源串中一个字或字节内容送入AX或AL中,同时按照DF修改SI。 指令中“源串”主要是指明取的源串是字还是字节。若已明确是字或字节,可用无操作数指令格式替代。 LODSB……..取源串一个字节 LODSW…….取源串一个字 浙工大信息学院 2、存目的串 格式: STOS 目的串 作用: 把AX或AL的内容送入目的串中一个字或字节,同时按照DF修改DI。 替代: STOSB…….送字节到目的串 STOSW……送字到目的串 浙工大信息学院 3、串传送指令 格式: MOVS 目的串,源串 作用: 把源串中一个字或字节传送到目的串中,同时按照DF修改SI和DI。 替代: MOVSB……. 字节传送 MOVSW……字传送 Eg: MOVSB 浙工大信息学院 4、串比较指令 格式: CMPS 目的串,源串 作用: 源串中一个字/字节—目的串中一个字/字节,不保留相减结果,但在FLAGS中反映比较结果,每比较一次,按照DF修改SI,DI。 替代: CMPSB…….字节比较 CMPSW……字比较 Eg: CMPSB 浙工大信息学院 5、串搜索指令 格式: SCAS 目的串 作用: 在目的串中查找AX或AL指定的内容。 查找方法:AX/AL—目的串中一个字/字节,没找一次,按照DF修改DI。 替代: SCASB…….字节搜索 SCASW……字搜索 Eg: SCASB 浙工大信息学院 6、重复前缀指令 1)格式: REP 对若干字或字节进行相同的操作,可用REP,重复次数由CX确定。 使用: 放在串操作指令前面,每执行一次串指令,(CX)-1?CX,直到(CX)=0为止。 eg:DF=0,(SI)=0020H,(DI)=100H,(CX)=0030H,执行REP MOVSB,什么意思?如果没有串指令,如何编程实现? 浙工大信息学院 2) REPE/REPZ 重复执行串操作的条件是ZF=1和(CX)=0 REPNE/REPNZ 重复执行串操作的条件是ZF=0和(CX)=0 浙工大信息学院 重复前缀指令使用说明 LODS,STOS,MOVS不影响flags,故只使用REP, CMPS,SCAS每执行一次比较,查找,都把结果反映在flags,故常选用REPE/REPZ和REPNE/REPNZ b. 初始化工作:初始化SI、DI 设置DF 若有重复前缀,设置CX c. 有重复前缀时,在反复执行串操作指令过程中是允许被中断的,除非在此之前禁止中断。 浙工大信息学院 串操作指令应用举例 Eg1:将源串100个字节数据传送到目的串单元中。源串首元素的偏移地址为2500H,目的串首元素的偏移地址为1400H。 Eg2:比较eg1中两串是否完全相同,若两串相同0 BX,若不同,第1个不相同字节的地址 BX,该字节的内容 给AL。 Eg3:在长度为N的某字符串中查找是否存在”$”字符。若存在,“$”字符所在地址 BX,否则0 BX,已知字符串首元素的偏移地址为DSTO。 浙工大信息学院 串操作指令应用举例(续) Eg4:已知数据段中有100个字组成的串,现要求将其中的负数相加,其和数存放到紧接着该串的下一个顺序地址中。串首元素的偏移地址为1680H。 Eg5:要求将两串中对应元素相加,所得到新串写入目的串中。已知当前源串、目的串的偏移地址分别为0500H,0300H,串长度100字节。 Eg6:在STRBUG字符串‘ASASAASASSASSAASASAS’,长度为N,寻找STRING中指定
文档评论(0)