80C51单片机的指令系统.ppt

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

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5.累加器A移位指令 RL A ;累加器左循环移位 RLC A ;累加器通过Cy左循环移位 RR A ;累加器右循环移位 RRC A ;累加器通过Cy右循环移位 * 【例4-40】 执行下面的程序段,观察累加器A中内容的变化。 MOV A,#01H ;(A)=01H RL A ;(A)=02H RL A ;(A)=04H RL A ;(A)=08H 常用左移位指令完成×2的操作 * 【例4-41】 编制程序将M1、M1+1单元中存放的16位二进制数扩大二倍。(设该数低8位在M1单元中,扩大后小于65536)。 CLR C ;Cy←0 MOV R0,#M1 ;低8位操作数的地址送R0 MOV A,@R0 ;A←低8位操作数 RLC A ;低8位操作数左移1位,低 ;位补 0,最高位在Cy中 MOV @R0,A ;送回M1单元 INC R0 ;R0指向M1+1单元 MOV A,@R0 ;A←高8位操作数 RLC A ;高8位操作数左移,M1最 ;高位通过Cy移入最低位 MOV @R0,A ;送回M1+1单元 * 4.3.4 控制转移类指令 无条件转移指令 条件转移指令 调用/返回指令 空操作指令 * 1. 无条件转移指令 16位地址的无条件转移指令 11位地址的无条件转移指令 相对转移指令 散转指令 * 1) 16位地址的无条件转移指令 LJMP addr16 ;PC ← addr16 转移地址为16位,实现在64KB全地址空间范围内的无条件转移,因而又称为长转移指令。 此指令为3字节指令 1.无条件转移指令 * 2) 11位地址的无条件转移指令 AJMP addr11 ;PC←(PC)+2, PC10~0←addr11 转移范围:2K, PC15~11不变 指令常称为绝对转移指令。因为地址高5位保持不变,仅低11位发生变化,因此寻址范围为该指令地址加2后,向下的2K区域。 a10a9a800001 a7a6 ….. a0 3) 相对转移指令 SJMP rel ;PC←(PC)+2,PC←(PC)+ rel ; 双字节指令 rel为地址偏移量,为带符号8位二进制数,用补码表示,范围为 -128~+127。因此,程序转移范围为当前PC前128字节,或后127字节。 【例4-42】 程序中等待功能常由以下指令实现: HERE:SJMP HERE 或: SJMP $ 指令中偏移量rel在汇编时自动算出为0FEH,即-2的补码,执行后目标地址就是本指令的起始地址。 * 4) 散转指令 JMP @A+DPTR ;PC←(A)+(DPFR) 本指令将累加器A中的8位无符号数与16位数据指针相加,其和装入程序计数器PC,控制程序转向目标地址 * 【例4-43】 设累加器A中存放待处理命令的编号(0~n;n≤85)程序存储器中存放着标号为PGTB的转移表,则执行以下

文档评论(0)

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

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

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档