微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51单片机汇编语言:控制转移指令有哪些?

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

时间:05-16 来源:互联网 点击:

跳转指令

短跳指令 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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top