版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第3章MCS-51單片機(jī)的指令系統(tǒng)
3.1指令編碼格式及常用符號(hào)3.2尋址方式3.3數(shù)據(jù)傳送類指令
3.4算術(shù)運(yùn)算類指令
3.5邏輯運(yùn)算和移位類指令3.6子程序調(diào)用與控制轉(zhuǎn)移類指令
3.7位操作類指令
MCS—51單片機(jī)共有111條指令。其特點(diǎn)為:(1)指令執(zhí)行時(shí)間短。其中1個(gè)機(jī)器周期指令64條,2個(gè)機(jī)器周期指令45條,4個(gè)機(jī)器周期指令2條(乘、除法指令)。(2)指令字節(jié)少。其中單字節(jié)指令49條,雙字節(jié)指令45條,三字節(jié)指令17條。(3)位操作指令豐富。(4)可直接用傳送指令實(shí)現(xiàn)端口的輸入/輸出操作。3.1指令編碼格式及常用符號(hào)
3.1.1指令的格式
[標(biāo)號(hào):]操作碼[目的操作數(shù)][,源操作數(shù)];[注釋]例如:L1:MOVA,20H;(20H)→A3.1.2指令的分類
1.按指令所占存儲(chǔ)器字節(jié)數(shù)分:(1)單字節(jié)指令(49條);(2)雙字節(jié)指令(46條);(3)三字節(jié)指令(16條)。2.按指令執(zhí)行周期數(shù)分:(1)單周期指令(64條);(2)雙周期指令(45條);(3)四周期指令(2條,乘法指令和除法指令)。3.按指令功能分:(1)數(shù)據(jù)傳送指令(28條);(2)算術(shù)運(yùn)算指令(24條);(3)邏輯運(yùn)算指令(25條);(4)控制轉(zhuǎn)移類指令(17條);(5)位操作指令(17條)。3.1.3常用符號(hào)
Rn(n=0~7)——當(dāng)前選中的工作寄存器組中的寄存器R0~R7之一;Ri(i=0,1)——當(dāng)前選中的工作寄存器組中的寄存器R0或R1;@——間接尋址方式中表示間址寄存器的符號(hào);#data——8位立即數(shù);#datal6——16位立即數(shù);direct——8位片內(nèi)RAM單元(包括SFR)的直接地址;addrll——11位目的地址,該地址在與下一條指令地址相同的2KB的ROM空間內(nèi)。add16——16位目的地址,該地址在64KB的ROM空間內(nèi)。rel——補(bǔ)碼形式表示的8位地址偏移量。以下一條指令第一字節(jié)地址為基值。其值在-128~+127范圍內(nèi);bit——片內(nèi)RAM或SFR的直接尋址位地址;C——最高進(jìn)位標(biāo)志位或布爾處理器的累加器;(X)——表示地址單元或寄存器中的內(nèi)容;((X))——表示以X單元或寄存器中的內(nèi)容為地址間接尋址單元的內(nèi)容;→——表示傳送給;?
——表示交換;$——表示當(dāng)前指令的地址;/——表示取反;3.2尋址方式
3.2.1立即尋址立即尋址就是指令中直接給出操作數(shù)的尋址方式。指令中直接給出的這個(gè)操作數(shù)稱為立即數(shù),在指令格式中,立即數(shù)前面有“#”標(biāo)記。立即數(shù)可以是8位,也可以是16位。例如:MOVA,#50H;#50H→A3.2.2直接尋址
直接尋址就是指令中給出的是存儲(chǔ)單元的地址,以這個(gè)地址單元中的內(nèi)容作為操作數(shù)的尋址方式。例如:MOVA,50H;(50H)→A直接尋址方式的尋址范圍只限于單片機(jī)內(nèi)部數(shù)據(jù)存儲(chǔ)器中地址為00H~7FH的128個(gè)存儲(chǔ)單元以及21個(gè)特殊功能寄存器。3.2.3寄存器尋址寄存器尋址就是指令中給出的是寄存器名,以這個(gè)寄存器中的內(nèi)容作為操作數(shù)的尋址方式。寄存器尋址方式的尋址范圍是當(dāng)前工作寄存器組的8個(gè)單元R0~R7,以及少數(shù)特殊功能寄存器如A、B和DPTR。例如:MOVA,R0;(R0)→A3.2.4寄存器間接尋址寄存器間接尋址就是指令中給出的是寄存器名,以寄存器中的內(nèi)容作為地址,以地址單元中的內(nèi)容作為操作數(shù)的尋址方式。例如:MOVA;((R0))→A寄存器間接尋址方式的尋址范圍包括片內(nèi)和片外數(shù)據(jù)存儲(chǔ)器。3.2.5變址尋址變址尋址就是以PC或DPTR中的內(nèi)容作為基址,以累加器A中的內(nèi)容作為變址,兩者相加形成和地址,再以該地址中的內(nèi)容作為操作數(shù)的尋址方式。例如:MOVCA
;((A)+(DPTR))→A變址尋址只能對(duì)程序存儲(chǔ)器中的數(shù)據(jù)作尋址操作,常用于訪問(wèn)程序存儲(chǔ)器中的常數(shù)表。3.2.6相對(duì)尋址相對(duì)尋址就是以程序計(jì)數(shù)器PC的當(dāng)前值(該指令執(zhí)行后的PC值,即下一條指令的地址)為基址,加上指令給出的相對(duì)偏移量rel,形成新的PC值的尋址方式。例如:2000H:SJMP08H
;(PC)+2+08H→PC3.2.7位尋址位尋址就是對(duì)位地址中的內(nèi)容做位操作的尋址方式。例如:CLR00H;0→00H3.3數(shù)據(jù)傳送類指令
3.3.1以累加器A為目的操作數(shù)的指令
匯編語(yǔ)言指令指令功能MOVA,RnMOVA,directMOVAMOVA,#data(Rn)→
A (direct)→
A((Ri))→
A#data→A3.3.2以寄存器Rn為目的操作數(shù)的指令匯編語(yǔ)言指令指令功能MOVRn,A MOVRn,directMOVRn,#data(A)→
Rn (direct)→
Rn #data→Rn 3.3.3以直接地址direct為目的操作數(shù)的指令
匯編語(yǔ)言指令指令功能MOVdirect,A MOVdirect,Rn MOVdirect,directMOVdirectMOVdirect,#data(A)→
direct(Rn)→
direct (direct)→
direct((Ri))→
direct #data→direct3.3.4以間接地址Ri為目的操作數(shù)的指令
匯編語(yǔ)言指令指令功能MOV@Ri,A MOV@Ri,directMOV@Ri,#data (A)→(Ri)(direct)→(Ri)
#data→(Ri)3.3.5以DPTR為目的操作數(shù)的指令
匯編語(yǔ)言指令指令功能MOVDPTR,#data16#data16→DPTR3.3.6訪問(wèn)外部RAM的指令
匯編語(yǔ)言指令指令功能MOVXAMOVXA MOVX@DPTR,AMOVX@Ri ,A ((DPTR))→
A((Ri))→
A(A)→(DPTR)(A)→((Ri))3.3.7讀ROM指令
匯編語(yǔ)言指令指令功能MOVCAMOVCA(PC)+1→PC((A)+(PC))→
A((A)+(DPTR))→
A3.3.8數(shù)據(jù)交換指令
匯編語(yǔ)言指令指令功能XCHA,Rn XCHA,directXCHAXCHDA(A)←→(Rn)(A)←→(direct)(A)←→((Ri))(A)3~0
←→((Ri))3~03.3.9堆棧操作指令
匯編語(yǔ)言指令指令功能PUSHdirectPOPdirect(SP)+1→SP(direct)→(SP)((SP))→
direct(SP)-1→SP3.4算術(shù)運(yùn)算類指令
3.4.1加法指令
(1)不帶進(jìn)位的加法指令匯編語(yǔ)言指令指令功能ADDA,RnADDA,directADDAADDA,#data(A)+(Rn)→
A (A)+(direct)→
A(A)+((Ri))→
A(A)+#data→A(2)帶進(jìn)位的加法指令匯編語(yǔ)言指令指令功能ADDCA,RnADDCA,directADDCAADDCA,#data(A)+(Rn)+(Cy)→
A(A)+(direct)+(Cy)→
A(A)+((Ri))+(Cy)→
A(A)+#data+(Cy)→
A(3)增量指令匯編語(yǔ)言指令指令功能INCA INCRnINCdirectINC@RiINCDPTR(A)+1→A(Rn)+1→Rn(direct)+1→direct((Ri))+1→(Ri)(DPTR)+1→DPTR(4)十進(jìn)制調(diào)整指令匯編語(yǔ)言指令指令功能DAA 對(duì)A中的結(jié)果進(jìn)行十進(jìn)制調(diào)整3.4.2減法指令(1)帶借位的減法指令匯編語(yǔ)言指令指令功能SUBBA,RnSUBBA,directSUBBASUBBA,#data(A)-(Cy)-(Rn)→
A(A)-(Cy)-(direct)→
A(A)-(Cy)-((Ri))→
A(A)-(Cy)-#data→A(2)減量指令匯編語(yǔ)言指令指令功能DECA DECRnDECdirectDEC@Ri(A)-1→A(Rn)-1→Rn(direct)-1→direct((Ri))-1→
(Ri)3.4.3乘法指令
匯編語(yǔ)言指令指令功能MULAB (A)×(B)→(B)(A)3.4.4除法指令
匯編語(yǔ)言指令指令功能DIVAB (A)/(B)3.5邏輯運(yùn)算和移位類指令
3.5.1邏輯與指令
匯編語(yǔ)言指令指令功能ANLA,Rn ANLA,direct ANLA ANLA,#data ANLdirect,A ANLdirect,#data(A)∧(Rn)→
A(A)∧(direct)→
A(A)∧((Ri))→
A (A)∧#data→A (direct)∧(A)→
direct(direct)∧#data→direct3.5.2邏輯或指令
匯編語(yǔ)言指令指令功能ORLA,Rn ORLA,direct ORLA ORLA,#data ORLdirect,A ORLdirect,#data(A)∨(Rn)→
A (A)∨(direct)→
A (A)∨((Ri))→
A (A)∨#data→A (direct)∨(A)→
direct(direct)∨#data→direct3.5.3邏輯異或指令
匯編語(yǔ)言指令指令功能XRLA,Rn XRLA,direct XRLA XRLA,#data XRLdirect,A XRLdirect,#data(A)∨(Rn)→
A (A)∨(direct)→
A (A)∨((Ri))→
A (A)∨#data→A (direct)∨(A)→
direct(direct)∨#data→direct3.5.4清零和取反指令
匯編語(yǔ)言指令指令功能CLRACPLA0→A (A)→
A3.5.5移位指令
匯編語(yǔ)言指令指令功能RLARRARLCARRCASWAPA(A)6~0
→A7~1,(A)7
→A0
(A)7~1
→A6~0,(A)0
→A7
(A)6~0
→A7~1,(A)7
→Cy,(Cy)→
A0(A)7~1
→A6~0,(A)0
→Cy,(Cy)→
A7(A)7~4
←→(A)3~0
3.6子程序調(diào)用與控制轉(zhuǎn)移類指令
3.6.1子程序調(diào)用與返回指令
匯編語(yǔ)言指令指令功能ACALLaddr11LCALLaddr16RETRETI(PC)+2→PC(SP)+1→SP(PC低8位)→(SP)(SP)+1→SP(PC高8位)→(SP)
addr11→PC10~0(PC)+3→PC(SP)+1→SP(PC低8位)→(SP)(SP)+1→SP(PC高8位)→(SP)
addr16→PC((SP))→
PC高8位(SP)-1→SP((SP))→
PC低8位(SP)-1→SP((SP))→
PC高8位(SP)-1→SP((SP))→
PC低8位(SP)-1→SP3.6.2無(wú)條件轉(zhuǎn)移指令
匯編語(yǔ)言指令指令功能AJMPaddr11LJMPaddr16SJMPrelJMP@A+DPTR(PC)+2→PCaddr11→PC10~0(PC)+3→PCaddr16→PC(PC)+2+rel→PC(A)+(DPTR)→
PC3.6.3條件轉(zhuǎn)移指令(1)累加器判0轉(zhuǎn)移指令匯編語(yǔ)言指令指令功能JZrel JNZrel(A)=00H,(PC)+2+rel→PC(A)≠00H,(PC)+2→PC(A)≠00H,(PC)+2+rel→PC(A)=00H,(PC)+2→PC(2)兩數(shù)比較不等轉(zhuǎn)移指令匯編語(yǔ)言指令指令功能CJNEA,#data,relCJNEA,direct,relCJNERn,#data,relCJNE@Ri,#data,rel(A)=#data,(PC)+3→PC,0→Cy(A)>#data,(PC)+3+rel→PC,0→Cy(A)<#data,(PC)+3+rel→PC,1→Cy(A)=(direct),(PC)+3→PC,0→Cy(A)>(direct),(PC)+3+rel→PC,0→Cy(A)<(direct),(PC)+3+rel→PC,1→Cy(Rn)=#data,(PC)+3→PC,0→Cy(Rn)>#data,(PC)+3+rel→PC,0→Cy(Rn)<#data,(PC)+3+rel→PC,1→Cy((Ri))=#data,(PC)+3→PC,0→Cy((Ri))>#data,(PC)+3+rel→PC,0→Cy((Ri))<#data,(PC)+3+rel→PC,1→Cy(3)減1非零轉(zhuǎn)移的2條指令匯編語(yǔ)言指令指令功能DJNZRn,relDJNZdirect,rel(Rn)-1→Rn(Rn)≠00H,(PC)+2+rel→PC(Rn)=00H,(PC)+2
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年高速公路ETC系統(tǒng)升級(jí)改造合同
- 2025年度智能物流平臺(tái)合作返點(diǎn)合同范本4篇
- 2025年度現(xiàn)代農(nóng)業(yè)設(shè)施承攬合同補(bǔ)充協(xié)議4篇
- 2025年度油氣儲(chǔ)罐安全檢測(cè)與改造合同4篇
- 2025年10kv線路施工綠色環(huán)保與節(jié)能減排合同3篇
- 2025年度智能車位租賃合同轉(zhuǎn)讓協(xié)議書(全新版)4篇
- 2024年車輛購(gòu)銷合同示范文本
- 2025年度智能儲(chǔ)煤場(chǎng)租賃管理服務(wù)合同4篇
- 2024礦用設(shè)備租賃合同
- 2025年度城市更新改造項(xiàng)目承包合同簽約與歷史文化保護(hù)協(xié)議(2024版)3篇
- 2024年??谑羞x調(diào)生考試(行政職業(yè)能力測(cè)驗(yàn))綜合能力測(cè)試題及答案1套
- 六年級(jí)數(shù)學(xué)質(zhì)量分析及改進(jìn)措施
- 一年級(jí)下冊(cè)數(shù)學(xué)口算題卡打印
- 2024年中科院心理咨詢師新教材各單元考試題庫(kù)大全-下(多選題部分)
- 真人cs基于信號(hào)發(fā)射的激光武器設(shè)計(jì)
- 【閱讀提升】部編版語(yǔ)文五年級(jí)下冊(cè)第三單元閱讀要素解析 類文閱讀課外閱讀過(guò)關(guān)(含答案)
- 四年級(jí)上冊(cè)遞等式計(jì)算練習(xí)200題及答案
- 法院后勤部門述職報(bào)告
- 2024年國(guó)信證券招聘筆試參考題庫(kù)附帶答案詳解
- 道醫(yī)館可行性報(bào)告
- 視網(wǎng)膜中央靜脈阻塞護(hù)理查房課件
評(píng)論
0/150
提交評(píng)論