网站大量收购闲置独家精品文档,联系QQ:2885784924

汇编语言课程.ppt

  1. 1、本文档共89页,可阅读全部内容。
  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章 微机CPU的指令系统 例5.17:编写一段程序,完成下面计算公式,其中:变量X和Y都是字类型。 解: … X DW ? ;变量说明 Y DW … MOV AX, X MOV BX, AX ;用BX来临时存放计算结果 CMP AX, 0 JLE setdata CMP AX, 500 JG case3 ADD BX, 100D ;BX X+100 JMP setdata case3: SUB BX, 50D ;BX X-50 setdata: MOV Y, BX ;把计算结果赋给变量Y … 例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章 微机CPU的

文档评论(0)

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

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

1亿VIP精品文档

相关文档