單片機(jī)程序控制指令表與說明
表程序控制指令
操作碼
操作數(shù)
條 件
轉(zhuǎn) 移 地 址
說明
addr11
無條件
(PC)←(PC)+2
(PC)0-10←addr11
短轉(zhuǎn)移,只改變PC的低11位,轉(zhuǎn)移范圍2K。
LJMP
無條件
(PC)←addr16
長轉(zhuǎn)移,轉(zhuǎn)移范圍全64K空間
rel
無條件
(PC)←(PC)+2+rel
相對轉(zhuǎn)移 ,范圍-126~+129。
JMP
@A+DPTR
無條件
(PC)←(A)+(DPTR)
散轉(zhuǎn)指令,根據(jù)A值變址轉(zhuǎn)移
ACALL
addr11
無條件
(PC)←(PC)+ 2
(PC)L、(PC)H壓棧
(PC)0-10←addr11
短調(diào)用,只改變PC的低11位,轉(zhuǎn)移范圍2K。
addr16
無條件
(PC)←(PC)+ 3
(PC)L、(PC)H壓棧
(PC)←addr16
長調(diào)用,調(diào)用范圍全64K空間
RET
隱含
((SP))
無條件
(PC)H←((SP))
(PC)L←((SP)-1))
子程序返回。
RETI
中斷返回。
JZrel
(A)= 0
(PC)←(PC)+2+rel
根據(jù)A的值條件轉(zhuǎn)移。
JNZ
(A)≠0
JC
rel
(C)= 0
(PC)←(PC)+2+rel
根據(jù)C的值條件轉(zhuǎn)移。
JNC
(C)= 1
JNB
bit, rel
(bit)=0
(PC)←(PC)+3+rel
位值判別轉(zhuǎn)移。(負(fù)邏輯)
JB
(bit)=1
位值判別轉(zhuǎn)移。(正邏輯)
JBC
(bit)=1
同JB,加(bit)清零功能。
DJNZ
Rn, rel
(Rn)-1≠0
(PC)←(PC)+2+rel
循環(huán)指令。循環(huán)計(jì)數(shù)器自動
減1,歸0則退出循環(huán)。
dir, rel
(dir)-1≠0
(PC)←(PC)+3+rel
操作碼
操作數(shù)
條件
轉(zhuǎn) 移 地 址
說明
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
按無符號數(shù)比較,兩數(shù)不等則轉(zhuǎn)移。若前一數(shù)小,C置1;若前一數(shù)不小于后一數(shù),C清零。
NOP
無
無
(PC)←(PC)+1
空操作,順序執(zhí)行。