汇编语言程序设计 第5节 操作数寻址方式.ppt

汇编语言程序设计 第5节 操作数寻址方式.ppt

  1. 1、本文档共88页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言程序设计 第5章 微机CPU的指令系统 2、条件转移指令(Transfer Conditionally) 条件转移指令是一组极其重要的转移指令, 它根据标志寄存器中的一个(或多个)标志位来决定是否需要转移, 这就为实现多功能程序提供了必要的手段。微机的指令系统提供了丰富的条件转移指令来满足各种不同的转移需要, 在编程序时, 要对它们灵活运用。 条件转移指令分三大类: 基于无符号数的条件转移指令、基于有符号数的条件转移指令和基于特殊算术标志位的条件转移指令。 第5章 微机CPU的指令系统 无符号数的条件转移指令 (Jumps Based on Unsigned (Logic) Data) 若“低于、等于”或“不高于”, 则转移 CF=1 or AF=1 JBE/JNA 若“低于”或“不高于、等于”, 则转移 CF=1 JB/JNAE 若“高于、等于”或“不低于”, 则转移 CF=0 JAE/JNB 若“高于”或“不低于、等于”, 则转移 CF=0 and ZF=0 JA/JNBE 若不等或不为0, 则转移 ZF=0 JNE/JNZ 若相等或为0, 则转移 ZF=1 JE/JZ 功能描述 检测的转移条件 指令的助忆符 第5章 微机CPU的指令系统 有符号数的条件转移指令 (Jumps Based on Signed (Arithmetic) Data) 若“小于、等于”或“不大于”, 则转移 ZF=1 or SF≠OF JLE/JNG 若“小于”或“不大于、等于”, 则转移 SF≠OF JL/JNGE 若“大于、等于”或“不小于”, 则转移 SF=OF JGE/JNL 若“大于”或“不小于、等于”, 则转移 ZF=0 and SF=OF JG/JNLE 若不等或不为0, 则转移 ZF=0 JNE/JNZ 若相等或为0, 则转移 ZF=1 JE/JZ 功能描述 检测的转移条件 指令的助忆符 第5章 微机CPU的指令系统 特殊算术标志位的条件转移指令 (Jumps Based on Special Arithmetic Tests) 若为正数, 则转移 SF=0 JNS 若为负数, 则转移 SF=1 JS 若有齐数个’1’, 则转移 PF=0 JNP/JPO 若有偶数个’1’, 则转移 PF=1 JP/JPE 若无溢出, 则转移 OF=0 JNO 若有溢出, 则转移 OF=1 JO 若无进位, 则转移 CF=0 JNC 若有进位, 则转移 CF=1 JC 功能描述 检测的转移条件 指令的助忆符 第5章 微机CPU的指令系统 例5.15: 编写一程序段, 它把寄存器AX-BX的绝对值存入BX中。 解: … SUB BX, AX JNS next NEG BX next: … 例5.16: 已知字节变量char, 编写程序段把其所存的大写字母变成小写字母。 解: … char DB F ;变量说明 … MOV AL, char CMP AL, A JB next ;注意: 字符是无符号数, 不要使用指令JL CMP AL, Z JA next ADD char, 20H ;小写字母比大写字母的ASCII码大20H next: … 例5.5: 编写一程序段计算下面公式, 并把所得的商和余数分别存入X和Y中。 (C - 120 + A*B) / C 其中: A, B, C, X和Y都是有符号的字变量。 解: … A DW ? B DW ? C DW ? X DW ? Y DW ? … MOV AX, C SUB AX, 120D ;书写指令“ADD AX, -120D”也可以 CWD MOV CX, DX MOV BX, AX ;(CX, BX)←(DX, AX), 为作乘法准备必要的寄存器 MOV AX, A IMUL B ;(DX, AX)←A*B ADD AX, BX ;计算32位二进制之和, 为作除法作准备 ADC DX, CX IDIV C ;AX是商, DX是余数 MOV X, AX ;分别保存商和余数到指定的字变量单元里 MOV Y, DX … 5.2.4 逻辑运算指令 逻辑运算指令是一组重要的指令, 它包括: 与、或、非和异或等指令。 逻辑与操作指令AND (Logical AND Instruction) 指令格式: AND Reg/Mem, Reg/Mem/Imm 指令的功能是把源操作数中的每个二进制位与目的操作数中的相应二进制进行逻辑“与操作”, 操作的结果再置回到目标操作数中。 例5.6: 已知(BH)=6

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档