第3章节80C51单片机的指令系统(2160KB).ppt

第3章节80C51单片机的指令系统(2160KB).ppt

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 带进位加法(这组指令方便了多字节加法的实现) 加1 * * 十进制调整 DA A ;调整A的内容为正确的BCD码 两个压缩的BCD码按二进制相加后,必须经过调整方能得到正确的和。 当A中低4位出现了非BCD码(1010~1111)或低4位的进位AC=1,则应在低4位加6调整。 当A中高4位出现了非BCD码(1010~1111)或高4位的进位CY=1,则应在高4位加6调整。 执行十进制调整指令后,PSW中的CY表示结果的百位值 * * 【例3-24】若(A)=0110 1001B,表示的BCD码为 (R2)=0101 1000B,表示的BCD码为 ,执行指令: ADD A,R2 DA A (A)=0010 0111B,即 且(CY)=1,即正确的结果为:127 CY为1,表示D7位需借位 AC为1,表示D3位需借位 OV为1,表示“D6有借位D7无借位”或“D7有借位D6无借位” * * 3.4.2 减法 带借位减法 用此组指令完成不带借位的减法,只需先清CY为0即可 * * 【例3-25】若(A)=C9H,(R2)=54H,(CY)=1,试分析指令SUBB A,R2执行后,累加器的内容及状态标志。 (A): 1 1 0 0 1 0 0 1(201) -(CY): 1(1) 1 1 0 0 1 0 0 0 -(R2): 0 1 0 1 0 1 0 0(84) 结果: 0 1 1 1 0 1 0 0(116) 即:(A)=74H,(CY)=0,(AC)=0,(OV)=1,(P)=0。 分析:数据为无符号类型。该指令执行前CY=1,说明此指令不是运算的最低字节,即在此指令执行之前,一定执行过低字节的减法并产生了借位。因此,本次相减(201-1-84=116=74H)结果为74H。 * * 减1 这组指令仅 DEC A 影响P标志。其余指令都不影响标志位的状态。 * * 3.4.3 乘法 仅有一条乘法指令 MUL AB ;A与B相乘 无符号 结果:B中为积的高8位,A中为积的低8位。 CY总是被清0;OV=1表示积大于FFH 3.4.4 除法 仅有一条除法指令 DIV AB ;A除以B 无符号 结果:A中为商的整数部分,B中为余数 CY总是被清0;OV=1表示除数为0 3.5 逻辑运算与循环类指令(24条) * * 3.5.1 逻辑与 逻辑:与、或、异或、清0和取反 循环:左、右移,带进位位左、右移 【例】(A)=C3H,(R0)=AAH,执行指令 ANL A,R0 后,(A)=82H 与操作常用于对某些不关心位进行“清0”,同时“保留”另一些关心位 * * 3.5.2 逻辑或 【例】(A)=C3H,(R0)=55H,执行指令 ORL A,R0 后,(A)=D7H 或操作常用于对某些关心位进行“置1”,不关心位保持不变 * * 3.5.3 逻辑异或 【例】(A)=C3H,(R0)=AAH,执行指令 XRL A,R0 后,(A)=69H 异或操作常用于对某些关心位进行“取反”,不关心位保持不变 * * 3.5.4 逻辑清0和取反 3.5.5 累加器循环移位 3.6 控制转移类指令(17条) * * 3.6.1 无条件转移 短跳转 AJMP addr11 ;PC ←(PC)+ 2,PC10~0 ← addr11 * * 长跳转 LJMP addr16 ;PC ← addr16 相对转移 SJMP rel ;PC ←(PC)+ 2,PC ←(PC)+ rel 目标地址rel 对应范围为 +127 ~-128。 * * 【例】若“NEWADD”为地址1022H,PC的当前值为1000H。执行指令 SJMP NEWADD 后,程序将转向1022H处执行(rel=20H= 1022H-1000H-2)。解析如下: * * 散转移 JMP @A+DPTR;PC ←(PC)+ 1,PC ←(A)+(DPTR) 可完成多条判跳指令的功能 【例】功能:当(A)=00H时,程序将转到 ROUT0处执行;当(A)=02H时,程序将转到 ROUT1处执行;……。 MOV DPTR,#TABLE JMP @A+DPTR TABLE:AJMP ROUT0 AJMP ROUT1 AJMP ROUT2 AJMP ROUT3 * * 3.6.2 条件转移 累加器判0转移 比较不等转移 * * 减1不为0转移 * * 【例】有一段程序如下,该程序执行后,

文档评论(0)

精品课件 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档