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

第5章 算术和逻辑运算指令.pptVIP

  1. 1、本文档共92页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 算术和逻辑运算指令 罗文坚 中国科大 计算机学院 /~wjluo/mcps/ 本章内容 加法、减法和比较指令 乘法和除法指令 BCD码和ASCII码算术运算指令 基本逻辑运算指令 移位和循环移位指令 串比较指令 加法指令 加法 格式 ADD REG/MEM, REG/MEM/IMM 功能 源操作数、目的操作数相加,结果存入目的操作数 标志 所有状态标志(ZF、CF、PF、AF、SF 及 OF)都受影响 带进位加 格式 ADC REG/MEM, REG/MEM/IMM 功能 源操作数、目的操作数以及进位标志CF相加,结果存入目的操作数 标志 所有状态标志(ZF、CF、PF、AF、SF 及 OF)都受影响 加法指令 加1 格式 INC REG/MEM 功能 目的操作数加1 标志 除CF标志位,其余状态标志都受影响 交换并相加 格式 XADD REG/MEM, REG 功能 (80486以上)源操作数和目的操作数相交换,并将两者之和存入目的操作数 标志 所有状态标志都受影响,根据加法结果设置 加法指令 加法指令注意事项: 源操作数和目的操作数不能同时为内存单元(MEM)。 不允许与段寄存器(SREG)相关的加法。 XADD指令的源操作数在寄存器(REG)中。 标志寄存器中状态位随运算结果而变化,但INC指令不影响CF标志。 指令中操作数是带符号数还是无符号数由程序员解释。 注意:第4章的数据传送指令不改变状态标志。 Example 1 例、试用加法指令对两个8位16进制数5EH和3CH求和,并分析加法运算指令执行后对标志位的影响。 解: MOV AL, 5EH ;AL=5EH(94) MOV BL, 3CH ;BL=3CH(50) ADD AL, BL ;结果AL=9AH 运算后标志:ZF=0, AF=1, CF=0, SF=1, PF=1, OF=1。 若程序员认为两个加数是无符号数,则运算结果位9AH,即154。 此时,SF标志和OF标志没有意义。 若程序员认为两个加数是有符号数,则运算溢出,结果无效。 此时,CF标志没有意义。 CF标志和OF标志 当加减运算结果的最高有效位有进位(加法)或借位(减法)时,CF标志置1,即CF=1;否则CF=0。 针对无符号整数,判断加减结果是否超出表达范围。 N个二进制位表达无符号整数的范围: 0~2N-1 有符号数加减结果有溢出,则OF=1;否则OF=0。 针对有符号整数,判断加减结果是否超出表达范围。 N个二进制位表达有符号整数的范围: -2N-1~2N-1-1 进位标志CF:举例 8位二进制数相加: 01111100十六进制表达:3A+7C=B6 转换成十进制数:58+124=182 没有产生进位:CF=0 8位二进制数相加: 01111100=[1十六进制表达:AA+7C=[1]26 转换成十进制数:170+124=294=256+38 产生进位:CF=1 0<182<255 进位1表达256 溢出标志OF:举例 8位二进制数相加: 01111100十六进制表达:3A+7C=B6 转换成十进制数:58+124=182 超出范围:OF=1 8位二进制数相加: 01111100=[1十六进制表达:AA+7C=[1]26 转换成十进制数:-86+124=38 没有超出范围:OF=0 182>127 补码AAH表达-86 Example 2 设一个学生的三门课的成绩分别为60、65、90,入学分数线为总分256分,判断该学生是否取得入学资格。 ;采用无符号数表示 MOV AL, 60 ADD AL, 65 ADD AL, 90 JC PASS;超过256分? …… PASS: ……;取得入学资格 设张三在海拔60米的地点,他先往上走了65米,然后又往上走了90米,请问他现在所在地点的海拔高度? ;为便于表示低于海平面的 ;情况,采用有符号数表示 MOV AL, 60 ADD AL, 65 JO ERROR;(AL)ADD AL, 90 JO ERROR;(AL)…… ERROR: ……;错误处理 进位和溢出的区别 进位标志反映无符号整数运算结果是否超出范围 有进位,加上进位或借位后运算结果仍然正确 溢出标志反映有符号整数运算结果是否超出范围 有溢出,运算结果已经不正确 处理器按照无符号整数求得结果 在设置进位标志CF的同时,根据是否超出有符号整数的范围设置溢出标志OF。 应该利用哪个标志,由程序员决定! 操作数是无符号数,关心进位

文档评论(0)

***** + 关注
实名认证
文档贡献者

本账号下所有文档分享可拿50%收益 欢迎分享

1亿VIP精品文档

相关文档