控制/MCU
表程序控制指令
操作码
操作数
条 件
转 移 地 址
说明
AJMP
addr11
无条件
(PC)←(PC)+2
(PC)0-10←addr11
短转移,只改变PC的低11位,转移范围2K。
LJMP
addr16
无条件
(PC)←addr16
长转移,转移范围全64K空间
SJMP
rel
无条件
(PC)←(PC)+2+rel
相对转移 ,范围-126~+129。
JMP
@A+DPTR
无条件
(PC)←(A)+(DPTR)
散转指令,根据A值变址转移
ACALL
addr11
无条件
(PC)←(PC)+ 2
(PC)L、(PC)H压栈
(PC)0-10←addr11
短调用,只改变PC的低11位,转移范围2K。
LCALL
addr16
无条件
(PC)←(PC)+ 3
(PC)L、(PC)H压栈
(PC)←addr16
长调用,调用范围全64K空间
RET
隐含
((SP))
无条件
(PC)H←((SP))
(PC)L←((SP)-1))
子程序返回。
RETI
中断返回。
JZ
rel
(A)= 0
(PC)←(PC)+2+rel
根据A的值条件转移。
JNZ
(A)≠0
JC
rel
(C)= 0
(PC)←(PC)+2+rel
根据C的值条件转移。
JNC
(C)= 1
JNB
bit, rel
(bit)=0
(PC)←(PC)+3+rel
位值判别转移。(负逻辑)
JB
(bit)=1
位值判别转移。(正逻辑)
JBC
(bit)=1
同JB,加(bit)清零功能。
DJNZ
Rn, rel
(Rn)-1≠0
(PC)←(PC)+2+rel
循环指令。循环计数器自动
减1,归0则退出循环。
dir, rel
(dir)-1≠0
(PC)←(PC)+3+rel
操作码
操作数
条件
转 移 地 址
说明
CJNE
A,dir,rel
A,#data,rel Rn,#data,rel
@Ri,#data,rel
(A)≠(direct)
(A)≠#data
(Rn)≠#data
((Ri))≠#data
(PC)←(PC)+3+rel
按无符号数比较,两数不等则转移。若前一数小,C置1;若前一数不小于后一数,C清零。
NOP
无
无
(PC)←(PC)+1
空操作,顺序执行。
全部0条评论
快来发表一下你的评论吧 !