【大学课件】MCS51单片机指令系统P114知识分享.ppt

【大学课件】MCS51单片机指令系统P114知识分享.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【大学课件】MCS51单片机指令系统P114知识分享.ppt

表 3.3 影响标志位的指令 注:×表示对该标志位会产生影响,0或1表法对该标志位置0或1 /sundae_meng 表 3.3 影响标志位的指令 /sundae_meng 一、 加法指令 1. 普通加法指令 ADD A, Rn ; A (Rn)+(A) ADD A, direct ADD A, @Ri ADD A, #data 注意:判断无符号数的运算结果是否正确看CY位;判断带符号数的运算结果是否正确看OV 位。 /sundae_meng 例如: +120 和 +100 之和为 220, 显然大于 127, 相加时 0 1 1 1 1 0 0 0 120(补码,78H) 0 1 1 0 0 1 0 0 100 (补码,64H) 1 1 0 1 1 1 0 0 220 + 符号位(最高位)由 0 变 1, 两个正数相加结果变负, 实际上它是和数的最高位, 符号位移入了进位标志, 此时位 6 有进位而位 7 无进位, 置位溢出标志OV, 结果溢出。 CY=0,DF=1,故OV=1溢出! /sundae_meng 同样, -120和-100 相加, 结果应为-220, 显然小于-128, 相加时 1 0 0 0 1 0 0 0 -120的补码 1 0 0 1 1 1 0 0 -100的补码 + 1 0 0 1 0 0 1 0 0 -220的补码 符号位由1变为0, 两个负数相加结果变为正数, 这是因为符号位移入进位标志, 位 6 无进位而位 7 有进位, 置位溢出标志OV, 由此可判断结果溢出。 CY=1,DF=0,故OV=1溢出! /sundae_meng 2. 带进位加法指令 ADDC A, Rn ;A (Rn)+(A)+(C)Y ADDC A, direct ADDC A, @Ri ADDC A, #data 这组指令的功能与普通加法指令类似, 唯一的不同之处是, 在执行加法时, 还要将上一次进位标志Cy的内容也一起加进去, 对于标志位的影响也与普通加法指令相同。 /sundae_meng 3. 增量指令(除INC A影响P位外,其它不影响任何标志) INC A INC Rn INC direct INC @Ri INC DPTR 最后一条指令是对16 位的数据指针寄存器DPTR执行加 1 操作, 指令执行时, 先对低 8 位指针 DPL的内容加 1, 当产生溢出时就对高 8 位指针DPH加 1, 但不影响任何标志。 /sundae_meng 4. 十进制调整指令 DA A 这条指令对累加器A参与的BCD码加法运算所获得的 8 位结果进行十进制调整, 使累加器A中的内容调整为二位压缩型 BCD码的数。使用时必须注意, 它只能跟在加法指令之后, 不能对减法指令的结果进行调整, 且其结果不影响溢出标志位。 执行该指令时, 判断 A中的低4 位是否大于 9 和辅助进位标志 AC是否为“1”, 若两者有一个条件满足, 则低 4 位加 6 操作; 同样, A中的高 4 位大于 9 或进位标志 Cy为“1”两者有一个条件满足时, 高 4 位加 6 操作。例如: 有两个 BCD数 36 与 45 相加, 结果应为 BCD码 81, 程序如下: /sundae_meng MOV A, #36H ADD A, #45H DA A 这段程序中, 第一条指令将立即数36H(BCD码36)送入累加器A; 第二条指令进行如下加法: 0 0 1 1 0 1 1 0 36 0 1 0 0 0 1 0 1 45 0 1 1 1 1 0 1 1 7B 0 0 0 0 0 1 1 0 06 + + 1 0 0 0 0 0 0 1 81 得结果 7BH; 第三条指令对累加器 A进行十进制调整, 低 4 位(为 0BH)大于 9, 因此要加 6, 得调整的 BCD码 81。 /sundae_meng 二、 减法指令 1. 带进位减法指令 SUBB A, Rn ;A (A)-(Rn)-(cy) S

文档评论(0)

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

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

1亿VIP精品文档

相关文档