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

3 MCS-51单片机指令的系统.ppt

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

b)绝对转移指令: AJMP addr11; addr11:转移目的地址的低11位 程序转移范围:转移的目标地址在转移指令的下一条指令 开始的2KB程序存储器范围内。 指令执行结果不影响程序状态字寄存器PSW 功能:构造程序转移的目的地址,实现程序转移 PC←(PC)+2; PC10-0←adr11 , 在实际应用中,AJMP后面的addr11都是用标号来代替的,不一定写出它们的具体地址。 指令代码格式: 程序存储器单元 A10 A9 A8 0 0 0 0 1 A7 A6 A5 A4 A3 A2 A1 A0 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. (4)加1指令组 指令格式 INC A INC Rn INC direct INC @Ri INC DPTR 相应操作 A←(A)+1 Rn←(Rn)+1 direct←(direct)+1 (Ri)←((Ri))+1 DPTR←(DPTR)+1 操作结果 (A)=(A)+1 (Rn)=(Rn)+1 (direct)=(direct)+1 ((Ri))=((Ri))+1 (DPTR)=(DPTR)+1 a)将操作数所指定单元或寄存器中的内容加1,其结果送回原操作数单元。 b)此组指令的操作不影响PSW的状态。 例:假设(A)=FFH,(DPTR)=10FFH,(CY)=0,执行指令: INC A; (A)=00H, (CY)=0 INC DPTR; (DPTR)=1100H; (CY)=0 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. (5)减1指令组 指令格式 DEC A DEC Rn DEC direct DEC @Ri 相应操作 A←(A)-1 Rn←(Rn)-1 direct←(direct)-1 (Ri)←((Ri))-1 操作结果 (A)=(A)-1 (Rn)=(Rn)-1 (direct)=(direct)-1 ((Ri))=((Ri))-1 a)将操作数所指定单元或寄存器中的内容减1,其结果送回原操作数单元。 b)此组指令的操作不影响PSW的状态。 c)没有DPTR减1指令。 例:假设(40H)=00H,(R1)=50H, (50H)=60H,(CY)=1执行指令:DEC 40H; (40H)=0FFH, (CY)=1 DEC @R1; ((R1))=(50H)=5FH,(CY)=1 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 例:内部RAM40H和41H单元分别存放两个8位二进制无符号加数,求两数相加之和,和存放在内部RAM42H单元中。假设两数之和仍是8位二进制数。 解: Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 例:内部RAM40H和41H单元分别存放两个8位二进制无符号加数,求两数相加之和,和存放在内部RAM42H单元中。假设两数之和仍是8位二进制数。(注意比较两种编程方法的优劣性) 解(1)MOV A, 40H; (A)=(40H) ADD A, 41H; (A)=(40H)+(41H) MOV 42H, A; (42H)= (40H)+(41H) (2)MOV R0, #40H; 设置数据指针,(R0)=40H MOV A, @R0; 取第一个加数,(A)=(40H) INC R0; 修改数据指针,(R0)=41H ADD A, @R0;两数

文档评论(0)

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

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

1亿VIP精品文档

相关文档