- 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.4.3 8086/8088的指令系统 注意: 串处理指令用于处理连续存储单元中的字操作数或字节操作数,它们有几个共同点: 1. 它们一般都分两步执行,第一步完成处理功能,如传送、存取、比较等。第二步进行指针修改,每执行一次字符串指令指针SI和DI会自动进行修改,以便指向下一个待操作的单元。 2. 源串起始地址为DS:SI,允许使用段超越前缀修改源串段地址。目的串起始地址为ES:DI,禁止用段超越前缀修改目的串地址ES。 3. 串处理的方向取决于方向标志DF,DF=0时,地址指针SI和DI增量(+1或+2);DF=1时,地址指针SI和DI减量(-1或-2)。可使用指令CLD和STD来建立方向标志为0或1。如果从串的首地址开始操作,则置DF=0,如果从末地址开始操作,则置DF=1. 3.4.3 8086/8088的指令系统 例:若要将源串的100个字节数据传送到目标串单元中去,设源串首元素的偏移地址为2500H,目标串首元素的偏移地址为1400H,则完成这一串操作的程序段如下: CLD ; DF-0, 地址自动递增 MOV CX, 100 ; 串的长度 MOV SI, 2500H ; 源串首地址的偏移地址赋予SI MOV DI, 1400H ; 目标串首地址的偏移地址赋予DI REP MOVSB ; 重复传送操作,直到CX=0 注:前4条指令为准备工作,建立方向标志,将源和目的串的首(末)地址偏移量赋予SI和DI, 将串的长度(字节或字的个数)赋予CX 3.4.3 8086/8088的指令系统 数据传送指令 算术运算指令 逻辑运算和移位循环指令 串操作指令 程序控制指令 CPU控制指令 3.4.3 8086/8088的指令系统 程序控制指令:程序中指令的执行顺序是由CS:IP来决定的,程序转移类指令可改变IP或CS、IP的内容,从而控制指令的执行顺序,实现指令转移、程序调用等功能。 类别 指令名称 助记符 无条件转移 无条件转移 调用过程 从过程返回 JMP 目标标号 CALL 过程名 RET 弹出值 条件转移 高于则转移 高于或等于转移 低于则转移 低于或等于转移 进位为1转移 进位为0转移 JA/JNBE 目标标号 JAE/JNB 目标标号 JB/JNAE 目标标号 JBE/JNA 目标标号 JC 目标标号 JNC 目标标号 3.4.3 8086/8088的指令系统 类别 指令名称 助记符 条件转移 等于/结果为0转移 不等/结果不为0转移 大于则转移 大于或等于转移 小于则转移 小于或等于转移 溢出转移 不溢出转移 奇偶性为0转移 奇偶性为1转移 符号位为0转移 符号位为1转移 JE/JZ 目标标号 JNE/JNZ 目标标号 JG/JNLE 目标标号 JGE/JNL 目标标号 JL/JNGE 目标标号 JLE/JNG 目标标号 JC 目标标号 JNC 目标标号 JE/JZ 目标标号 JNE/JNZ 目标标号 JNS 目标标号 JS 目标标号 3.4.3 8086/8088的指令系统 类别 指令名称 助记符 循环控制 循环 等于/结果为0循环 不等于循环 CX=0转移 LOOP 目标标号 LOOPE/LOOPZ 目标标号 LOOPNE/LOOPNZ 目标标号 JCXZ 目标标号 中断 中断 溢出中断 中断返回 INT 中断类型 INTO IRET (1) 无条件转移指令 段内直接转移、段内间接转移 段间直接转移、段间间接转移 3.4.3 8086/8088的指令系统 段内直接转移:位移量在指令中直接给出,转移的目标地址在指令中可直接使用符号地址. 执行操作:(IP) ← (IP)当前+16/8位位移量 3.4.3 8086/8088的指令系统 若为短转移(目标地址与本指令地址间距离不超过127~-128字节范围): JMP SHORT LABLE, 如图: 若为近转移,由于位移量为16位,它的转移范围应是-32768至+32767,也就是说,近转移指令可以转移
文档评论(0)