- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 微机CPU的指令系统4
* * * * * * * * * * * * ——比较指令及条件转移指令 * 上节回顾 标志寄存器 带进位的加减法 比较指令CMP 条件转移指令 * 标志寄存器 DF ID TF,AF 判断两个有符号数计算结果是否溢出 溢出OF=1,不溢出,OF=0 OF SF 判断两个有符号数计算结果的正负 结果为负SF=1,非负,SF=0 ZF 判断两个操作数计算结果是否为零 结果为零ZF=1,非零,ZF=0 PF CF 判断指令执行后二进制结果中所有1的个数是否为偶数 为偶数PF=1,不是偶数,PF=0 判断指令执行后结果是否向更高位有进位或借位 有进位CF=1,没有进位,CF=0 * 加/减法指令 ADD/SUB 带进位的加/减法指令 ADC/SBB 加/减 1 指令 INC/DEC * ADC 利用了CF上的进位值 格式: adc 操作数1,操作数2 ADC AX , BX ; (AX)=(AX)+(BX)+CF 功能: 操作数1=操作数1+操作数2+CF * 格式: sbb 操作数1,操作数2 sbb ax,bx ;(ax)=(ax)-(bx)-CF 功能: 操作数1=操作数1-操作数2-CF * 格式: cmp 操作数1,操作数2 功能:计算操作数1-操作数2的结果,根据其对标识位的影响,为随后的条件转移指令提供转移条件。 cmp ax,ax 计算(ax)-(ax)的结果对各个标志位的影响 ZF=0,PF=1,SF=0,CF=0,OF=0 * mov ax,8 mov bx,3 cmp ax,bx 执行后,(ax)=8 ZF=0,PF=1,SF=0,CF=0,OF=0 通过cmp指令执行后,查看相关标志位 的值判断比较的结果。 * (al)=(bl) (al)≠(bl) (al)<(bl) (al)≥(bl) (al)>(bl) (al)≤(bl) ZF=1 ZF=0 CF=1 CF=0 (al)-(bl)既不用借位结果又不为零 (al)-(bl)既可能借位,结果有可能为零 CF=0且ZF=0 CF=1或者ZF=1 比较无符号数的大小 * 条件转移指令 根据无符号数的比较结果进行转移 检测CF、ZF的值 * 指令 含义 检测的相关标志位 je 等于则转移 ZF=1 jne 不等于则转移 ZF=0 jb 低于则转移 CF=1 jnb 不低于则转移 CF=0 ja 高于则转移 CF=0且ZF=0 jna 不高于则转移 CF=1或ZF=1 E:equal n:not b:below a:above * 编程实现: 如果(ah)=(bh),则(ah)=(ah)+(ah),否则,(ah)=(ah)+(bh)并推出 cmp ah,bh je s add ah,bh jmp ok s: add ah,ah ok:mov ax,4c00h int 21h * 编程实现: 统计data段中数值等于8的字节的个数,用dx保存统计结果 统计data段中数值大于8的字节的个数,用dx保存统计结果 统计data段中数值小于8的字节的个数,用dx保存统计结果 * data segment db 8,11,8,12,1,8,5,63,38 data ends * 比较data段中与8的大小 如果=8 dx+1 如果≠8 继续比较下一个字节 继续比较下一个字节 * 编程实现:将一个字节变量char字符串中的大写字母改写成小写字母。 data segment char db ‘BaSic’ data ends * 大写 ASCII码 小写 ASCII码 A 41h a 61h B 42h b 62h C 43h c 63h D 44h d 64h …… * 比较char中的 字符与a的大小 如果此字符 的ASCII码<‘a’ 将此字符ASCII码-20h 后覆盖原位置 如果>‘a’ 继续比较下一个字符 继续比较下一个字符 * * * * * * * * * * * * * * * * * * * * * * * * *
文档评论(0)