關(guān)于51單片機(jī)程序匯編的指令周期表_第1頁
關(guān)于51單片機(jī)程序匯編的指令周期表_第2頁
關(guān)于51單片機(jī)程序匯編的指令周期表_第3頁
關(guān)于51單片機(jī)程序匯編的指令周期表_第4頁
關(guān)于51單片機(jī)程序匯編的指令周期表_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、8051指令周期表類別指令格式功能簡述字節(jié)數(shù)機(jī)器周期數(shù)據(jù)傳送類指令期MOV A, RnRnA Rn中的內(nèi)容送到累加器A中,Rn=R0-R711MOV Rn,AARn 累加器A中的內(nèi)容送到存放器Rn中。11MOV A, RiRiA Ri內(nèi)容指向的地址單元中的內(nèi)容送到累加器A,Ri=R0或R111MOV Ri, AARi 累加器A中的內(nèi)容送到以Ri中的內(nèi)容為地址的RAM單元。11MOV A, #data#dataA 立即數(shù)送到累加器A中。21MOV A, datadataA 直接單元地址中的內(nèi)容送到累加器A21MOV data, A(A) data

2、累加器A中的內(nèi)容送直接單元地址。21MOV Rn,#data#dataRn立即數(shù)直接送到存放器Rn中。21MOV data, #data#datadata立即數(shù)送直接尋址單元 。32MOV Ri, #data#dataRi立即數(shù)送到以Ri中的內(nèi)容為地址的RAM單元。21MOV data, RnRndata存放器中的內(nèi)容送直接尋址單元 。22MOV Rn, datadataRn直接尋址單元中的內(nèi)容送存放器 。22MOV data, RiRidata內(nèi)部RAM單元送直接尋址單元 。22MOV Ri, datadataRi直接尋址單元送內(nèi)部RAM單元 。22MOV da

3、ta2,data1data1data2直接尋址單元中的內(nèi)容送直接尋址單元 。32MOV DPTR, #data16#dataHDPH,#dataLDPL16位常數(shù)的高8位送到DPH,低8位送到DPL32MOVX A, RiRiA 存放器Ri指向片外RAM地址中的內(nèi)容送到累加器A中。12MOVX Ri, AARi 累加器中的內(nèi)容送到存放器Ri指向片外RAM地址中。12MOVX A, DPTRDPTRA 數(shù)據(jù)指針指向片外RAM地址中的內(nèi)容送到累加器A中。12MOVX DPTR, AADPTR 累加器中的內(nèi)容送到數(shù)據(jù)指針指向片外RAM地址中。12MOVC A,

4、 A+DPTRA+DPTRA 表格地址單元中的內(nèi)容送到累加器A中。12MOVC A, A+PCPC+1A,A+PCA 表格地址單元中的內(nèi)容送到累加器A中。12算術(shù)運(yùn)算類指令XCH A, RnARn累加器與工作存放器Rn中的內(nèi)容互換。11XCH A, RiARi累加器與工作存放器Ri所指的存儲單元中的內(nèi)容互換。11XCHD A, datadataA累加器A的內(nèi)容與直接尋址單元的內(nèi)容交換 。21XCHD A, RiA3-0Ri3-0累加器與工作存放器Ri所指的存儲單元中的內(nèi)容低半字節(jié)互換。11SWAP AA3-0A7-4累加器中的內(nèi)容上下半字節(jié)互換。11PO

5、P dataSPdataSP-1SP, 堆棧指針SP所指的單元數(shù)據(jù)送到直接尋址單元中,堆棧指針SP再進(jìn)行減1操作22PUSH dataSP+1SP,dataSP 堆棧指針首先加1,直接尋址單元中的數(shù)據(jù)送到堆棧指針SP所指的單元中22ADD A, RnA+RnA 累加器A中的內(nèi)容與工作存放器Rn中的內(nèi)容相加,結(jié)果存在A中。11ADD A, RiA+RiA 累加器A中的內(nèi)容與工作存放器Ri所指向地址單元中的內(nèi)容相加,結(jié)果存在A中。11ADD A, dataA+dataA 累加器A中的內(nèi)容與直接地址單元中的內(nèi)容相加,結(jié)果存在A中。21ADD A, #dataA+#dataA 累加器A中的內(nèi)

6、容與立即數(shù)#data相加,結(jié)果存在A中。21ADDC A, RnA+Rn+CA 累加器A中的內(nèi)容與工作存放器Rn中的內(nèi)容、連同進(jìn)位位相加,結(jié)果存在A中。11ADDC A, RiA+Ri+CA 累加器A中的內(nèi)容與工作存放器Ri指向地址單元中的內(nèi)容、連同進(jìn)位位相加,結(jié)果存在A中。11ADDC A, #dataA+#data +CA 累加器A中的內(nèi)容與立即數(shù)連同進(jìn)位位相加,結(jié)果存在A中。21ADDC A, dataA+data+CA 累加器A中的內(nèi)容與直接地址單元的內(nèi)容連同進(jìn)位位相加,結(jié)果存在A中。21INC AA+1A 累加器A中的內(nèi)容加1,結(jié)果存在A中。11INC RnRn+1Rn存放

7、器Rn的內(nèi)容加1,結(jié)果送回原地址單元中。11INC datadata+1data 直接地址單元中的內(nèi)容加1,結(jié)果送回原地址單元中。21INC RiRi+1Ri 存放器的內(nèi)容指向的地址單元中的內(nèi)容加1,結(jié)果送回原地址單元中。11INC DPTRDPTR+1DPTR數(shù)據(jù)指針的內(nèi)容加1,結(jié)果送回?cái)?shù)據(jù)指針中。12DA A在進(jìn)行BCD碼運(yùn)算時(shí),這條指令總是跟在ADD或ADDC指令之后,其功能是將執(zhí)行加法運(yùn)算后存于累加器A中的結(jié)果進(jìn)行調(diào)整和修正。11SUBB A, RnA-Rn -CA 累加器A中的內(nèi)容與工作存放器中的內(nèi)容、連同借位位相減,結(jié)果存在A中。11SUBB A, R

8、iA-Ri -CA 累加器A中的內(nèi)容與工作存放器Ri指向的地址單元中的內(nèi)容、連同借位位相減,結(jié)果存在A中。11SUBB A, #dataA-#data -CA 累加器A中的內(nèi)容與立即數(shù)、連同借位位相減,結(jié)果存在A中。21SUBB A, dataA-data - CA 累加器A中的內(nèi)容與直接地址單元中的內(nèi)容、連同借位位相減,結(jié)果存在A中。21DEC AA-1A累加器A中的內(nèi)容減1,結(jié)果送回累加器A中。11DEC RnRn-1Rn存放器Rn中的內(nèi)容減1,結(jié)果送回存放器Rn中。11DEC RiRi-1Ri存放器Ri指向的地址單元中的內(nèi)容減1,結(jié)果送回原地址單元

9、中。11DEC datadata-1data直接地址單元中的內(nèi)容減1,結(jié)果送回直接地址單元中。21MUL ABA×BA和B 累加器A中的內(nèi)容與存放器B中的內(nèi)容相乘,結(jié)果存在A、B中。14DIV ABA÷BA和B 累加器A中的內(nèi)容除以存放器B中的內(nèi)容,所得到的商存在累加器A,而余數(shù)存在存放器B中。14邏輯運(yùn)算類指令A(yù)NL A, Rn累加器A的內(nèi)容和存放器Rn中的內(nèi)容執(zhí)行與邏輯操作。結(jié)果存在累加器A中。11ANL A, Ri累加器A的內(nèi)容和工作存放器Ri指向的地址單元中的內(nèi)容執(zhí)行與邏輯操作。結(jié)果存在累加器A中。11ANL A, #data累加器A的內(nèi)容和立即數(shù)執(zhí)行與邏

10、輯操作。結(jié)果存在累加器A中。21ANL A, data累加器A中的內(nèi)容和直接地址單元中的內(nèi)容執(zhí)行與邏輯操作。結(jié)果存在存放器A中。21ANL data, A直接地址單元中的內(nèi)容和累加器A的內(nèi)容執(zhí)行與邏輯操作。結(jié)果存在直接地址單元中。21ANL data, #data直接地址單元中的內(nèi)容和立即數(shù)執(zhí)行與邏輯操作。結(jié)果存在直接地址單元中。31ORL A, Rn累加器A的內(nèi)容和存放器Rn中的內(nèi)容執(zhí)行邏輯或操作。結(jié)果存在累加器A中。11ORL A,Ri累加器A的內(nèi)容和工作存放器Ri指向的地址單元中的內(nèi)容執(zhí)行邏輯或操作。結(jié)果存在累加器A中。11ORL A,#data累加器A的內(nèi)容和立即數(shù)執(zhí)行邏輯或操作。結(jié)果

11、存在累加器A中。21ORL A,data累加器A中的內(nèi)容和直接地址單元中的內(nèi)容執(zhí)行邏輯或操作。結(jié)果存在存放器A中。21ORL data A直接地址單元中的內(nèi)容和累加器A的內(nèi)容執(zhí)行邏輯或操作。結(jié)果存在直接地址單元中。21ORL data, #data直接地址單元中的內(nèi)容和立即數(shù)執(zhí)行邏輯或操作。結(jié)果存在直接地址單元中。31XRL A, Rn累加器A的內(nèi)容和存放器Rn中的內(nèi)容執(zhí)行邏輯異或操作。結(jié)果存在累加器A中。11XRL A,Ri累加器A的內(nèi)容和工作存放器Ri指向的地址單元中的內(nèi)容執(zhí)行邏輯異或操作。結(jié)果存在累加器A中。11XRL A,#data累加器A的內(nèi)容和立即數(shù)執(zhí)行邏輯異或操作。結(jié)果存在累加器

12、A中。21XRL A,data累加器A中的內(nèi)容和直接地址單元中的內(nèi)容執(zhí)行邏輯異或操作。結(jié)果存在存放器A中。21XRL data, A直接地址單元中的內(nèi)容和累加器A的內(nèi)容執(zhí)行邏輯異或操作。結(jié)果存在直接地址單元中。21XRL data, #data直接地址單元中的內(nèi)容和立即數(shù)執(zhí)行邏輯異或操作。結(jié)果存在直接地址單元中。32RL A累加器A中的內(nèi)容左移一位。11RLC A累加器A中的內(nèi)容連同進(jìn)位位CY左移一位。11RR A累加器A中的內(nèi)容右移一位。11RRC A累加器A中的內(nèi)容連同進(jìn)位位CY右移一位。11CPL A累加器中的內(nèi)容按位取反。11CLR A0A,累加器中的內(nèi)容清0。11控制轉(zhuǎn)移類指令A(yù)CC

13、ALL addr11絕對調(diào)用指令,可在2kB空間調(diào)用子程序,此時(shí)PC+ 2PC,SP+ 1SP,PC7-0SP,SP+ 1SP,PC15-8SP,addr11PC10-022AJMP addr11PC+2PC,addr11PC10-0程序計(jì)數(shù)器賦予新值11位地址,PC15-11不改變。22LCALL addr16長調(diào)用指令,可在64kB空間調(diào)用子程序。此時(shí)PC+ 3PC,SP+ 1SP,PC7-0SP,SP+ 1SP,PC15-8SP,addr16PC,即分別從堆棧中彈出調(diào)用子程序時(shí)壓入的返回地址。32LJMP addr16addr16PC,給程序計(jì)數(shù)器賦予新值16位地址。32SJMP rel

14、PC+ 2 + relPC當(dāng)前程序計(jì)數(shù)器先加上2再加上偏移量給程序計(jì)數(shù)器賦予新值。22JMP A+DPTRA+ DPTRPC,累加器所指向地址單元的值加上數(shù)據(jù)指針的值給程序計(jì)數(shù)器賦予新值。12RET子程序返回指令。此時(shí)SPPC15-8,SP- 1SP,SPPC7-0,SP- 1SP12RET1中斷返回指令,除具有RET功能外,還具有恢復(fù)中斷邏輯的功能,需注意的是,RETI指令不能用RET代替。12JZ relA=0,PC+ 2 + relPC,累加器中的內(nèi)容為0,那么轉(zhuǎn)移到偏移量所指向的地址,否那么程序往下執(zhí)行。22JNZ relA0,PC+ 2 + relPC,累加器中的

15、內(nèi)容不為0,那么轉(zhuǎn)移到偏移量所指向的地址,否那么程序往下執(zhí)行。22CJNE A, #data, relA#data,PC+ 3 + relPC,累加器中的內(nèi)容不等于立即數(shù),那么轉(zhuǎn)移到偏移量所指向的地址,否那么程序往下執(zhí)行。32CJNE A, data, relAdata,PC+ 3 + relPC,累加器中的內(nèi)容不等于直接地址單元的內(nèi)容,那么轉(zhuǎn)移到偏移量所指向的地址,否那么程序往下執(zhí)行32CJNE Rn,#data, relA#data,PC+ 3 + relPC,工作存放器Rn中的內(nèi)容不等于立即數(shù),那么轉(zhuǎn)移到偏移量所指向的地址,否那么程序往下執(zhí)行。32CJNE Ri, #data,

16、 relA#data,PC+ 3 + relPC,工作存放器Ri指向地址單元中的內(nèi)容不等于立即數(shù),那么轉(zhuǎn)移到偏移量所指向的地址,否那么程序往下執(zhí)行。32DJNZ Rn, relRn-1Rn),Rn)0,PC+ 2 + relPC工作存放器Rn減1不等于0,那么轉(zhuǎn)移到偏移量所指向的地址,否那么程序往下執(zhí)行22DJNZ data, relRn-1Rn),Rn)0,PC+ 2 + relPC直接地址單元中的內(nèi)容減1不等于0,那么轉(zhuǎn)移到偏移量所指向的地址,否那么程序往下執(zhí)行。32布爾操作類指令NOP這條指令除了使PC加1,消耗一個(gè)機(jī)器周期外,沒有執(zhí)行任何操作??捎糜诙虝r(shí)間的延時(shí)。11MOV C, bi

17、tbitCY,某位數(shù)據(jù)送CY。21MOV bit, CCYbit,CY數(shù)據(jù)送某位。21CLR C0CY,清CY11CLR bit0bit,清某一位。21CPL CCY11CPL bitbit21SETB C1CY,置位CY11SETB bit1bit,置位某一位21ANL C, bit(CY)(bit)CY22ANL C, /bitCY() CY22ORL C, bitCY(bit) CY22ORL C, /bitCY() CY22JC rel(CY)=1轉(zhuǎn)移,PC+2+relPC,否那么程序往下執(zhí)行,PC+2PC。22JNC rel(CY)=0轉(zhuǎn)移,PC+2+r

18、elPC,否那么程序往下執(zhí)行,PC+2PC。22JB bit,rel位狀態(tài)為1轉(zhuǎn)移,PC+3+relPC,否那么程序往下執(zhí)行,PC+3PC。32JNB bit,rel位狀態(tài)為0轉(zhuǎn)移,PC+3+relPC,否那么程序往下執(zhí)行,PC+3PC。32JBC bit,rel位狀態(tài)為1轉(zhuǎn)移,并使該位清“0 ,PC+3+relPC,否那么程序往下執(zhí)行,PC+3PC。32  C51匯編偽指令:1、DS 預(yù)留存儲區(qū)命令格式: 標(biāo)號: DS   表達(dá)式值其功能是從指定地址開始,定義一個(gè)存儲區(qū),以備源程序使用。存儲區(qū)預(yù)留的存儲單元數(shù)由表達(dá)式的值決

19、定。TMP:   DS   1從標(biāo)號TEP地址處開始保存1個(gè)存儲單元字節(jié)。2、BIT定義位命令格式:   字符名稱   BIT   位地址其功能用于給字符名稱定義位地址。SPK   BIT   P3.7經(jīng)定義后,允許在指令中用SPK代替P3.7。3、USING指令USING指令通知匯編器使用8051的哪一個(gè)工作存放器組。格式: USING 表達(dá)式 值必須為03,默認(rèn)值為0。USING 0使用第0組工作存放器。4、SEGMENT指令SEGMENT 

20、指令用來聲明一個(gè)再定位段和一個(gè)可選的再定位類型。格式: 再定位段名 SEGMENT 段類型再定位類型其中,“再定位段名用于指明所聲明的段?!岸晤愋陀糜谥付ㄋ暶鞯亩螌⑻幍拇鎯ζ鞯刂房臻g??捎玫亩晤愋陀?#160;CODE、XDATA、DATA、IDATA和BIT。STACK_SEG SEGMENT IDATADATA_SEG SEGMENT DATA 5、RSEG再定位段選擇指令再定位段選擇指令為RSEG,用于選擇一個(gè)已在前面定義過的再定位段作為當(dāng)前段。格式: RSEG 段名段名必須是在前面已經(jīng)聲明過的再定位段。DATA_SEG SE

21、GMENT DATA   ;聲明一個(gè)再定位DATA段RSEG   DATA_SEG   ;選擇前面聲明的再定位DATA段作為當(dāng)前段6、絕對段選擇指令 CSEG絕對代碼段 DSEG內(nèi)部絕對數(shù)據(jù)段 XSEG外部絕對數(shù)據(jù)段 ISEG內(nèi)部間接尋址數(shù)據(jù)段 BSEG絕對位尋址數(shù)據(jù)段 格式: CSEG AT 絕對地址表達(dá)式 DSEG AT 絕對地址表達(dá)式 XSEG AT 絕對地址表達(dá)式 ISEG AT 絕對地址表達(dá)式 BSEG AT 絕對地址表達(dá)式 括號內(nèi)是可選項(xiàng),用來指定當(dāng)前絕對段的基地址。CSEG AT 0000HAJMP MAIN7、ORG指令ORG指令用來改變匯編器的計(jì)數(shù)器,從而設(shè)定一個(gè)新的程序起始地址。格式: ORG 表達(dá)式表達(dá)式必須是絕對或簡單再定位表達(dá)式。ORG 0000HAJMP MAIN設(shè)定 MAIN 程序的起始地址為 0000H。8、END指令END指令用來控制匯編結(jié)束。在每個(gè)匯編程序的最后一行必須有一條END指令,并且END指令只能出現(xiàn)一次。9、EQ

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論