_335串操作指令336程序控制类指令.ppt

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

条件转移指令表(有符号数) G:Greater, L:Less, E:Equal, Z:Zero 2.条件转移指令JCC 控制转移类指令—条件转移指令 CALL指令执行的操作小结 可实现的转移 执行过程 段内直接 /间接给出 近转移——目标地址与控制转移指令位于同一代码段内 SP减2,断点(原IP值)入栈 用目标地址(16位操作数的值)代替原IP值 段间直接 /间接给出 远转移——目标地址与控制转移指令位于不同代码段中 SP减2,原CS值入栈 SP再减2,原IP值入栈 用目标地址(32位操作数的值)代替原CS:IP值 与转移指令的不同之处:用于调用一个子过程,必须保存断点地址,执行过程与堆栈有关;有对应的返回指令(断点恢复),返回原调用处继续执行原程序 。 3.3.5 串操作类指令 概述 0 重复指令前缀 1 数据字节串/字串传送指令 2 数据字节串/字串比较指令 3 数据字节串/字串检索指令 4 数据字节串/字串读出指令 5 数据字节串/字串写入指令 6 0.概述 字符串是指存储器中顺序存放的类型相同的字节或字的序列。 串操作是指对串中每个元素都执行同样的操作。 规定一个字符串的长度最长不能超过64K字节。 源串存放在数据段,用SI提供源串的偏移地址。 目的串存放在附加段,用DI提供目的串的偏移地址。 当方向标志DF=0:地址指针SI、DI自动加1(字节串)或2(字串) 当方向标志DF=1:地址指针SI、DI自动减1(字节串)或2(字串) 串操作指令前不加重复前缀,串操作只执行一次。 如重复执行串操作,可以用CX存放重复的次数,每重复执行一次,CX内容减1。当CX内容减为0时,串操作停止。 1.重复指令前缀 无条件重复前缀REP ★ 相等/为零重复前缀REPE/REPZ ★ 不相等/不为零重复前缀REPNE/REPNZ ★ 不同的停止的条件 1)无条件重复前缀REP 格式:REP 功能:用于一个串操作指令的前缀,每重复执行一次串操作指令,CX的内容减1,直到(CX)=0 为止。 执行步骤如下: ①先判断CX的内容,如(CX)=0,则串操作停止,否则执行第②步; ②(CX)-1→CX ; ③执行其后的串操作指令,转第①步。 串操作停止的条件 2)相等/为零重复前缀REPE/REPZ 格式:REPE/REPZ 功能:用于一个串操作指令的前缀,每重复执行一次串操作指令,CX的内容减1,直到(CX)=0 或ZF=0为止。 执行步骤如下: ①先判断CX的内容,如(CX)=0或ZF=0,则串操作停止,否则执行第②步; ②(CX)-1→CX ; ③执行其后的串操作指令,转第①步。 串操作停止的条件 3)不相等/不为零重复前缀REPNE/REPNZ 格式:REPNE/REPNZ 功能:用于一个串操作指令的前缀,每重复执行一次串操作指令,CX的内容减1,直到(CX)=0 或ZF=1为止。 执行步骤如下: ①先判断CX的内容,如(CX)=0或ZF=1,则串操作停止,否则执行第②步; ②(CX)-1→CX ; ③执行其后的串操作指令,转第①步。 串操作停止的条件 2.数据字节串/字串传送指令 格式:MOVSB/MOVSW 功能:将数据段中由(DS:SI)指向的源串的一个字节(字)传送到附加段由(ES:DI)指向的目的串中,且相应修改地址指针,使其指向下一个字节(字)。 例:将内存单元首地址3100H起的100个字节传送到首地址2800H的内存单元。 CLD MOV SI,3100H MOV DI,2800H MOV CX,100 REP MOVSB 隐含操作数 Clear DF=0 3.数据字节串/字串比较指令 格式:CMPSB/CMPSW 功能:将数据段中由(DS:SI)指向源串的一个字节(字)减去附加段由(ES:DI)指向的目的串的一个字节(字),不回送结果,只根据结果影响标志位,并相应修改地址指针,使其指向下一个字节(字)。 例:检查内存单元首地址2200H起的50个字节与首地址3200H起的50个字节是否对应相等。如相等,则BX=0;若不相等,BX指向第一个不相等的字节单元。AL存放第一个不相等的源串内容。 CLD MOV SI,2200H MOV DI,3200H MOV CX,50 REPE CMPSB;相等循环 JZ LP1

文档评论(0)

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

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

1亿VIP精品文档

相关文档