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
编辑:admin 最后修改时间:2018-05-18