- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.2.4 串操作指令 串操作指令就是用一条指令实现对存储器中一串字符或数据的操作。8086指令系统提供了5条基本的串操作指令和相应的重复前缀指令。 串操作指令的特点 可以对字节串进行操作,也可以进行字串操作 通过加重复前缀(如REP等)来实现串操作 如果源操作数在内存单元,则用寄存器SI对源操作进行间接寻址,并且假定在DS段中;如果目的操作数在内存单元,则用寄存器DI对目的操作数进行间接寻址,并且假定在ES段中 串操作时,地址的修改与方向标志DF有关,当DF=1时,SI和DI自动减量修改;当DF=0时,SI和DI自动增量修改。 1.基本串操作指令 (1)串传送指令 MOVSB ;字节传送,ES:[DI]←DS:[SI], SI←SI±1,DI←DI±1 MOVSW ;字传送,ES:[DI]←DS:[SI], SI←SI±2,DI←DI ±2 DF=0,(SI)和(DI)增量;DF=1, ,(SI)和(DI)减量 不影响FR寄存器的值 例题1 MOV SI,1000H MOV DI,2000H MOV CX,100 CLD REP MOVSB 1.基本串操作指令 (2)取串指令 LODSB ;取字节,AL←DS:[SI],SI←[SI] ±1 LODSW ;取字, AX←DS:[SI],SI←[SI] ±2 DF=0,(SI)增量;DF=1, (SI)减量 不影响FR寄存器的值 (3)存串指令 STOSB ;存字节,ES:[DI]←AL,DI←[DI] ±1 STOSW ;存字, ES:[DI]←AX,DI←[DI] ±2. DF=0,(DI)增量;DF=1, (DI)减量 不影响FR寄存器的值 例题2 使内存中0400H开始的256个单元清零 CLD LEA DI,[0400H] MOV CX, 0080H XOR AX ,AX REP STOSW 1.基本串操作指令 (4)串比较指令 CMPSB ;字节比较 ES:[SI]-DS:[DI],SI←[SI] ±1,DI←[DI] ±1 CMPSW ;字比较,ES:[SI]-DS:[DI],SI←[SI] ±2,DI←[DI] ±2 DF=0,(SI)和(DI)增量;DF=1, ,(SI)和(DI)减量 影响FR寄存器的所有标志位 用于实现在两个字符串中寻找第一个不相等的元素或者第一个相等的元素 5)串搜索指令 SCASB ;字节搜索,AL-ES:[DI],DI←[DI] ±1. SCASW ;字搜索, AX-ES:[DI],DI←[DI] ±2 DF=0,(SI)和(DI)增量;DF=1, (SI)和(DI)减量 影响FR寄存器的所有标志位 2.重复前缀指令 格式: REP ;无条件重复前缀指令 REPE/REPZ ;条件重复前缀指令 REPNE/REPNZ ;条件重复前缀指令 REP指令用在MOVS、STOS指令之前,每执行一次串指令,CX←(CX)-1,直到CX=0,重复执行结束 REPE/REPZ指令用在CMPS、SCAS指令之前,每执行一次串指令,CX←(CX)-1,并判断ZF标志位是否为0;只要CX=0或ZF=0,则重复执行结束 REPNE/REPNZ指令用在CMPS、SCAS指令之前,每执行一次串指令,CX←(CX)-1,并判断ZF标志位是否为1;只要CX=0或ZF=1,则重复执行结束 LODS指令之前不能添加重复前缀 例题 例3-45将首地址为SRC的源字符串传送到DEST为首地址的内存区,字符串的长度为N个字节。 CLD ;DF=0,增量方向 LEA SI,SRC ;DS:SI←字符串首地址 LEA DI,ES:DEST ;ES:DI←目标地址 MOV CX,N ;字符串长度 REP MOVSB ;重复字符串传送 例3-46比较两个字符串是否有相同的元素,它们的首地址和目标地址分别为SRC和DEST,字符串的长度为N个字节。 CLD ;DF=0,增量方向 LEA SI,SRC ;DS:SI←字符串首地址 LEA
您可能关注的文档
最近下载
- 第8课 中国古代的法治与教化 课件(共27张PPT)(内嵌音频+视频).pptx VIP
- 第四章:as-ad模型习题&答案.doc VIP
- 牙周病治疗翻瓣术.ppt VIP
- 《OSI参考模型体系》课件.ppt VIP
- 2025年牙周病治疗翻瓣术.pptx VIP
- GB50303-2015 建筑电气工程施工质量验收规范.docx VIP
- 2025年陕西省高考生物试卷真题(含答案解析).docx
- 线路板厂安全生产应急预案.docx
- 第一章 1.中融-隆晟1号结构化集合资金信托计划优先A12信托计划说明书.pdf VIP
- 2025-2030中国六氟磷酸锂(LiPF6)市场发展现状及竞争格局研究研究报告.docx
文档评论(0)