51单片机汇编语言:控制转移指令有哪些?

跳转指令

短跳指令       AJMP   addr11

                   PC←addr11,跳转范围2k

长跳指令       LJMP   addr16

                   PC←addr16,跳转范围64k

间接跳转指令   JMP  @A+DPTR

                   PC←(A)+(DPTR)

相对转移指令   SJMP   rel 

 条件转移指令

JZ      rel   ;(A)=0,转移

JNZ     rel   ;(A)≠0,转移

JC      rel            ;如 C=1,    转移

JNC     rel            ;如 C=0,    转移

JB      bit,rel    ;如 bit=1,    转移

JNB     bit,rel    ;如 bit=0,    转移

JBC     bit,rel    ;如 bit=1,    转移并 bit=0

 比较不相等转移指令

CJNE A,#data,rel;(A)=#data,继续C←0 (A)>#data,转C←0 (A)<#data,转C←1

                    特点:只有<时, C←1

CJNE  A,direct,rel

CJNE  Rn,#data,rel

CJNE  @Ri,#data,rel

 减 1 不为 0 转移指令

DJNZ  Rn,rel ; 

DJNZ  direct,rel

 例:延时子程序

    delay: MOV  R7,   #03H

    delay0: MOV  R6,   #19H

    delay1: DJNZ  R6,  delay1  

    DJNZ  R7,  delay0

    RET

 调用子程序指令

短调用指令     ACALL   addr11

长调用指令     LCALL   addr16

子程序返回指令  RET

中断返回指令    RETI

空操作指令      NOP

银火虫 发表于06-08 09:36 浏览65535次
分享到:

已有0条评论

暂时还没有回复哟,快来抢沙发吧

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

银火虫
银火虫(中将)
金币:5919个|学分:6733个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号