单片机ATS单片机的指令系统.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机ATS单片机的指令系统

* 3.4.4 控制转移类指令 1.长转移指令 LJMP addr16 指令执行时,把转移的目的地址,即指令的第二和第三字节分别装入PC的高位和低位字节中,无条件地转向addr16指定的目的地址:64KB程序存储器地址空间的任何位置。 2.相对转移指令 SJMP rel 无条件转移,rel为相对偏移量,是一单字节的带符号8位二进制补码数,因此程序转移是双向的。rel如为正,向地址增大的方向转移;rel如为负,向地址减小的方向转移。 * * 执行时,在PC加2(本指令为2B)之后,把指令的有符号的偏移量rel加到PC上,并计算出目的地址。 编程时,只需写上目的地址标号, 相对偏移量由汇编程序自动计算。例如: LOOP:MOV A,R6 ?????? ? ……???????????????? ? SJMP LOOP ? …… 汇编时,跳到LOOP处的偏移量由汇编程序自动计算和填入。 3.绝对转移指令 AJMP addr11 * * 指令双字节,格式如下: 指令提供11位地址A10~A0(即addr11),其中A10~A8则位于第1字节的高3位,A7~A0在第2字节。操作码只占第1字节的低5位。 指令构造转移目的地址:执行本指令,PC加2,然后把指令中的11位无符号整数地址addr11(A10~A0)送入PC.10~PC.0,PC.15~PC.11保持不变,形成新的16位转移目的地址。 * 需注意,目标地址必须与AJMP指令的下一条指令首地址的高5位地址码A15~A11相同,否则将混乱。所以,是2KB范围内的无条件跳转指令。 4.间接跳转指令 JMP @A+DPTR 单字节转移指令,目的地址由A中8位无符号数与DPTR的16位无符号数内容之和来确定。以DPTR内容为基址,A的内容作为变址。给A赋予不同值,即可实现多分支转移。 * 5.条件转移指令 执行指令时,如条件满足,则转移;不满足,则顺序执行下一指令。转移目的地址在以下一条指令首地址为中心的256B范围内(-128~+127)。 JZ rel ;如果累加器内容为0,则执行转移 JNZ rel ;如果累加器内容非0,则执行转移 6.比较不相等转移指令 CJNE A,direct,rel CJNE A,#data,rel CJNE Rn,#data,rel CJNE @Ri,#data,rel * 比较前两个操作数大小,如果值不相等则转移,并转向目的地址。 如果第一操作数(无符号整数)小于第二操作数(无符号整数),则进位标志位Cy置1,否则Cy清0。该指令的执行不影响任何一个操作数的内容。 7.减1不为0转移指令 把减1与条件转移两种功能合在一起。两条: DJNZ Rn,rel ;n =0~7 DJNZ direct,rel * 用于控制程序循环。预先装入循环次数,以减1后是否为“0”作为转移条件,即实现按次数控制循环。 8.调用子程序指令 (1)长调用指令 LCALL addr16 可调用64KB范围内程序存储器中的任何一个子程序。执行时,先把PC加3获得下一条指令的地址(断点地址),并压入堆栈(先低位字节,后高位字节),堆栈指针加2。 接着把指令的第二和第三字节(A15~A8,A7~A0)分别装入PC的高位和低位字节中,然后从PC指定的地址开始执行程序。执行后不影响任何标志位。 * (2)绝对调用指令 ACALL addr11 与AJMP指令类似,为兼容MCS–48的CALL指令而设,不影响标志位。格式如下: 2KB范围内的调用子程序的指令。子程序地址必须与ACALL指令下一条指令的16位首地址中的高5位地址相同,否则将混乱。 * 9.子程序的返回指令 RET 执行本指令时 (SP)→PCH,然后(SP)-1→SP (SP)→PCL,然后(SP)-1→SP 功能: 从堆栈中退出PC的高8位和低8位字节,把栈指针减2,从PC值处开始继续执行程序。不影响任何标志位。 10.中断返回指令 RETI 与RET指令相似,不同处:该指令清除了中断响应时被置1的内部中断优先级寄存器的中断优先级状态,其他相同。 * 11.空操作指令 NOP 不进行任何操作,耗一个机器周期时间,执行(PC)+1→PC操作 3.4.5 位操作类指令 内部有一个位处理机,对应位操作指令。 1.数据位传送指令 MOV C,bit MOV bit,C 把源操作数指定的位变量送到目的操作数指定处。一个操作数必须为进位标志,另一个可以是任何直接寻址位。不影响其他寄存器或标志位。 * 例如: MOV C,06H ;(20H).6

文档评论(0)

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

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

1亿VIP精品文档

相关文档