單片機(jī)之匯編指令系統(tǒng)
MCS-51單片機(jī)指令系統(tǒng)按功能來(lái)分有五種.
數(shù)據(jù)傳送指令:
MOV Rn,#data ;立即尋址,data→Rn
MOV A,@Ri ;間接尋址,((Ri))→A,i=0,1
MOV direct,Rn ;寄存器尋址,(Rn)→direct
MOV @Ri,A ;寄存器尋址,(A)→(Ri)
MOV DPTR,#data16 ;把16位立即數(shù)傳送到數(shù)據(jù)指針DPTR,高8位送DPH,低八位送DPL.
(例:MOV DPTR,#1234H;DPTR=1234H,DPH=12H,DPL=34H.)
MOVC A,@A+PC ;((A)+(PC)→A)
MOVX @DPTR,A ;寄存器間接尋址,(A)→(DPTR)
PUSH direct ;直接尋址.(SP)+1→SP,(direct)→SP
POP direct ;直接尋址,((SP))→direct,(SP-1)→SP
XCH A,Rn ;(A)←→(Rn)交換
XCHD A,@Rn ;(A)0~3←→((Rn))0~3
SWAP A ;(A)0~3←→(A)4~7
算術(shù)運(yùn)算指令
ADD A,@Ri ;(A)+(Ri)→A,不帶進(jìn)位加法
ADDC A,Ri ;(A)+(Ri)+Cy→A
SUBB A,#data ;(A)-data-Cy→A
INC direct ;(direct)+1→direct,加一指令
DEC @Ri ;((Ri))-1→(Ri)
DA A ;十進(jìn)制調(diào)整指令
MUL AB ;把A,B兩個(gè)8位無(wú)符號(hào)數(shù)相乘,其16位積的低八位存入A,高八位存入B
,如果積大于255(0FFH),則置位溢出標(biāo)志OV,進(jìn)位標(biāo)志Cy總是清零.
DIV AB ;A除以B.所得數(shù)的整數(shù)部分放入A,余數(shù)部分放入B
如果B為0,則A,B結(jié)果不變,置位溢出標(biāo)志OV,進(jìn)位標(biāo)志Cy總是清零.
邏輯運(yùn)算指令:
CLR A ;(A)=0
CPL A ;/A→A
RL A ;左循環(huán)移位1
RR A ;右循環(huán)移位1
RLC A ;A與Cy左循環(huán)移位1
RRC A ;A與Cy右循環(huán)移位1
ANL 邏輯與操作指令
ORL 邏輯或操作指令
XRL 邏輯異或操作指令
位操作指令:
MOV C,bit ;(bit)→Cy
CLR 清零
CPL 取反
SETB 置1
ANL 與
ORL 或
JC rel ;若Cy=1,則(PC)+2+rel→PC,若Cy=0,則(PC)+2→PC
JNC rel ;若Cy=1,則(PC)+2→PC,若Cy=0,則(PC)+2+rel→PC
JB bit,rel ;若(bit)=1,則(PC)+3+rel→PC,若(bit)=0,則(PC)+2→PC
JNB 與上相反
JBC bit,rel ;若(bit)=1,則(PC)+3+rel→PC且置(bit)=0,若bit=0,則(PC)+2→PC
評(píng)論