片機匯編指令速查表_第1頁
片機匯編指令速查表_第2頁
片機匯編指令速查表_第3頁
片機匯編指令速查表_第4頁
片機匯編指令速查表_第5頁
已閱讀5頁,還剩3頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、8051系列單片機匯編語言指令速查表編號指令名稱指令助記符指令說明數據傳送類指令(29條)1一般傳送MOV A, #data將立即數#data送累加器A2MOV direct, #data將立即數#data送片內RAM direct地址單元內3Mov Rn, #data將立即數#data送寄存器Rn4Mov Ri, #data寄存器Ri內為RAM地址,將立即數#data送該地址單元內5Mov direct2, direct1將direct1地址單元的數據送 direct2地址單元內6Mov direct, rn將Rn的數據送 direct地址單元內7Mov Rn, direct將direct地

2、址單元內的數據送Rn寄存器8Mov direct, Ri寄存器Ri內為RAM地址,將該地址單元內的數據送direct地址單元內9Mov Ri, direct寄存器Ri內為RAM地址,將direct地址單元內的數據送該地址單元內10Mov A, Rn將寄存器Rn內的數據送累加器A11Mov Rn, A將累加器A內的數據送寄存器Rn12Mov A, direct將direct地址單元內的數據送累加器A13Mov direct, A將累加器A內的數據送direct地址單元內14Mov A, Ri寄存器Ri內為RAM地址,將該地址單元內的數據送累加器A15Mov Ri , A寄存器Ri內為RAM地址,

3、將累加器A的數據送該地址單元內16目的地址傳送Mov DPTR, #data16將16位立即數送數據指針DPTR寄存器17字節交換SWAP A累加器A高低4位數據交換18XCH A, Rn將累加器A數據和寄存器Rn內的數據交換19XCH A, direct將累加器A數據和direct地址單元內的數據交換20XCH A, Ri寄存器Ri內為RAM地址,將該地址單元內的數據與累加器A的數據交換21XCHD A, Ri寄存器Ri內為RAM地址,將該地址單元內的數據低4位與的低4位交換22與外部RAM傳送MOVX DPTR, A將累加器A的數據送數據指針DPTR寄存器所指外部RAM地址單元內23MOV

4、X A , DPTR將DPTR寄存器所指外部RAM地址單元內的數據送累加器A24MOVX A, Ri寄存器Ri內為片外RAM地址,將該地址單元內的數據送累加器A25MOVX Ri, A寄存器Ri內為片外RAM地址,將該地址單元內的數據送累加器A26與ROM傳送MOVC A, A+DPTRA+DPTR構成ROM地址,將該地址內的數據送累加器A內27MOVC A, A+PCA+PC構成ROM地址,將該地址內的數據送累加器A內28棧操作PUSH direct堆棧指針SP自加1后,將direct地址單元的數據壓進堆棧,29POP direct堆棧的數據送direct地址單元中,后堆棧指針減1,算術運算

5、指令(24條)30加法指令ADD A, Rn將寄存器Rn與累加器A的數據相加后,結果保存到累加器A31ADD A, direct將direct地址單元內的數據與累加器A的數據相加后結果保存到累加器A32ADD A, Ri寄存器Ri內位地址,將該地址單元內的數據與累加器A的數據相加后結果保存到累加器A33ADD A, #data將立即數與累加器A的數據相加后結果保存到累加器A34帶進位加法ADDC A, Rn將寄存器Rn與累加器A的數據相加,再加上進位標志內的值后,結果保存到累加器A35ADDC A, direct將direct地址單元內的數據與累加器A的數據相加,再加上進位標志內的值后,結果保

6、存到累加器A36ADDC A, Ri寄存器Ri內為RAM地址,將該地址單元內的數據與累加器A的數據相加,再加上進位標志內的值后,結果保存到累加器A37ADDC A, #data將立即數與累加器A的數據相加,再加上進位標志內的值后結果保存到累加器A38帶借位減法SUBB A, Rn將與累加器A的數據減去寄存器Rn的數據,再減去進位標志內的值,結果保存到累加器A39SUBB A, direct將與累加器A的數據減去direct地址單元內的數據,再減去進位標志內的值,結果保存到累加器A40SUBB A, Ri寄存器Ri內為RAM地址,將累加器A的數據減去該地址單元內的數據,再減去進位標志內的值后,結

7、果保存到累加器A41SUBB A, #data將累加器A的數據減去立即數,再減去進位標志內的值后,結果保存到累加器A42加1指令INC A累加器A的值自加143INC Rn寄存器Rn的值自加144INC directdirect地址單元內值自加145INC Ri寄存器Ri內為RAM地址,該地址單元內的值自加146INC DPTR數據指針寄存器DPTR內的值自加147減1指令DEC A累加器A的值自減148DEC Rn寄存器Rn的值自減149DEC directdirect地址單元內的值自減150DEC Ri寄存器Ri內為RAM地址,該地址單元內的值自減151乘法MUL AB累加器A與寄存器B內

8、的值相乘,乘積的高8位保存在B寄存器,低8位保存在累加器A中52除法DIV AB累加器A的值除以寄存器B的值,商保存在累加器A中,余數保存在B寄存器53二-十進制調整DA A對累加器A的結果進行十進制調整邏輯運算指令(29條)54邏輯與ANL A, Rn將累加器A的值和寄存器Rn的值進行與操作,結果保存到累加器A中55ANL A, direct將累加器A的值和direct地址單元內的值進行與操作,結果保存到累加器A中56ANL A, Ri寄存器Ri內為RAM地址,將累加器A的值和該地址單元內的值進行與操作,結果保存到累加器A中57ANL A, #data將累加器A的值和立即數進行與操作,結果保

9、存到累加器A中58ANL direct, A將累加器A的值和direct地址單元內的值進行與操作,結果保存到direct地址單元內59ANL direct, #data將立即數和direct地址單元內的值進行與操作,結果保存到direct地址單元內60邏輯或ORL A, Rn將累加器A的值和寄存器Rn的值進行或操作,結果保存到累加器A中61ORL A, direct將累加器A的值和direct地址單元內的值進行或操作,結果保存到累加器A中62ORL A, Ri寄存器Ri內為RAM地址,將累加器A的值和該地址單元內的值進行或操作,結果保存到累加器A中63ORL A, #data將累加器A的值和立

10、即數進行或操作,結果保存到累加器A中64ORL direct, A將累加器A的值和direct地址單元內的值進行或操作,結果保存到direct地址單元內65ORL direct, #data將立即數和direct地址單元內的值進行或操作,結果保存到direct地址單元內66邏輯異或XRL A, Rn將累加器A的值和寄存器Rn的值進行異或操作,結果保存到累加器A中67XRL A, direct將累加器A的值和direct地址單元內的值進行異或操作,結果保存到累加器A中68XRL A, Ri寄存器Ri內為RAM地址,將累加器A的值和該地址單元內的值進行異或操作,結果保存到累加器A中69XRL A,

11、 #data將累加器A的值和立即數進行異或操作,結果保存到累加器A中70XRL direct, A將累加器A的值和direct地址單元內的值進行異或操作,結果保存到direct地址單元內71XRL direct, #data將立即數和direct地址單元內的值進行異或操作,結果保存到direct地址單元內72按位取反CPL A累加器A的值按位取反73累加器清零CLR A累加器A清074邏輯右移RR A累加器A的值循環右移1位75邏輯左移RL A累加器A的值循環左移1位76帶進位右移RRC A累加器A的值帶進位循環右移1位77帶進位左移RLC A累加器A的值帶進位循環左移1位控制轉移指令(17條

12、)78無條件轉移SJMP relrel為地址偏移量,PC加2后的地址加上rel作為目標地址,程序跳到目標地址繼續運行79AJMP addr11(a10- a0)addr11為11位地址,PC加2后的地址高5位與指令中的低11位地址構成目標地址,程序跳到目標地址繼續運行80LJMP addr16將addr16的16位地址送程序計數器PC,使機器執行下一條指令時無條件轉移到addr16處執行程序81JMP A+DPTR目標地址的基地址放在DPTR中,目標地址對基地址的偏移量放在累加器A中,它們相加構成目標地址82條件轉移JZ relIf(累加器A=0)則PC加2再加上rel作為目標地址83JNZ

13、relIf(累加器A!=0)則PC加2再加上rel作為目標地址84CJNE A, direct, relIf(累加器A!= direct地址單元的值)則PC加2再加上rel作為目標地址85CJNE A, #data, relIf(累加器A!= 立即數)則PC加2再加上rel作為目標地址86CJNE Rn, #data, relIf(寄存器Rn的值!= 立即數)則PC加2再加上rel作為目標地址87CJNE Ri, #data, rel寄存器Ri內為RAM地址,If(該地址單元的值!= 立即數)則PC加2再加上rel作為目標地址88循環轉移DJNZ Rn, rel寄存器Rn的值減1后,If(寄存

14、器Rn的值!=0)則PC加2再加上rel作為目標地址89DJNZ direct, relDirect地址單元的值減1后,If(該值!=0)則PC加3再加上rel作為目標地址90布爾條件轉移JC relIf(CY=1)則PC加2再加上rel作為目標地址91JNC relIf(CY=0)則PC加2再加上rel作為目標地址92JB bit, relIf(bit位=1)則PC加3再加上rel作為目標地址93JNB bit, relIf(bit位=0)則PC加3再加上rel作為目標地址94JBC bit, relIf(bit位=1)則PC加3再加上rel作為目標地址,且bit位清095調用指令ACALL

15、 addr11addr11為11位地址,PC加2后的地址PUSH進堆棧,再將PC的地址高5位與指令中的低11位地址構成目標地址,程序跳到目標地址繼續運行96LCALL addr16PC加3后的地址PUSH進堆棧,再將16位地址送PC作為目標地址,程序跳到目標地址繼續運行97返回指令RET子程序返回指令,把堆棧中的地址恢復到PC中使程序回到調用處98RETI中斷程序返回指令,把堆棧中的地址恢復到PC中使程序回到調用處99空操作NOP空操作位操作指令(17條)100布爾傳送MOV C, bit將bit位地址中的值送PSW中的進位標志位CY101MOV bit, C將PSW中的進位標志位CY的值送b

16、it位地址中102位清0CLR C將進位標志位CY清0103位清0CLR bit將bit位地址內清0104位置1SETB C將進位標志位CY置1105SETB bit將bit位地址內置1106位與ANL C, bit將Cy和bit位地址中的值進行與操作后,結果送Cy107ANL C, /bitbit位地址中的值取反后再與Cy進行與操作,結構送Cy108位或ORL C, bit將Cy和bit位地址中的值進行或操作后,結果送Cy109ORL C, /bitbit位地址中的值取反后再與Cy進行或操作,結構送Cy110位取反CPL C將Cy取反111CPL bit將bit位地址的值取反說明:1)Ri,

17、 Rn指當前工作寄存器,i,n = 0 7,當前工作寄存器由程序狀態字寄存器PSW的2個位RS1, RS0決定MCS51使用匯編語言指令,它共有44個操作碼助記符,33種功能,其操作數有data、direct、Rn、Ri等。這里介紹指令助記符及其相關符號的記憶方法。 一、助記符號的記憶方法 1、表格列舉法 把44個指令助記符按功能分為五類,每類列表記憶。此處從略,請讀者自己總結。 2、英文還原法 單片機的操作碼助記符是該指令功能的英文縮寫,將縮寫還原成英語原文,再對照漢語有助于理解其助記符含義,從而加強記憶。例如:增量 INCIncremect 減量 DNCDecrement 短轉移 SJMP

18、Short jump 長轉移 LJMPLong jump 比較轉移 CJNECompare jump not equality 絕對轉移 AJMPAbsolute jump 空操作 NOPNo operation交換 XCHExchange 加法 ADDAddition乘法 MULMultiplication 除法 DIVDivision左環移 RLRotate left 進位左環移 RLCRotate left carry右環移 RRRotate right 進位右環移RRCRotate right carry 3、功能模塊記憶法 單片機的44個指令助記符,按所屬指令功能可分為五大類,每類又

19、可以按功能相似原則為23組。這樣,化整為零,各個擊破,實現快速記憶。 1)數據傳送組。 2)加減運算組 MOV 內部數據傳送 ADD 加法 MOVC 程序存儲器傳送 ADDC 帶進位加法 MOVX 外部數據傳送 SUBB 帶進位減法 3)邏輯運算組。 4)子程序調用組。 ANL 邏輯與 LCALL 長調用 ORL 邏輯或 ALALL 絕對調用 XRL 邏輯異或 RET 子程序返回 二、指令的記憶方法 1、指令操作數的有關符號 MCS51的尋址方式共有七種:立即數尋址、直接尋址、寄存器尋址、寄存器間址、變址尋址、相對尋址、位尋址。我們必須掌握其表示的方法。 1)立即數與直接地址。data表示八位

20、立即數,data16表示是十六位立即數,data或direct表示直接地址。 2)Rn(n=0-7)、A、B、CY、DPTR寄存器尋址變量。 3)R0、R1、DPTR、SP表示寄存器間址變量。 4)DPTRA、PCA表示變址尋址的變量。 5)PCrel(相對量)表示相對尋址變量。 記住指令的助記符,掌握不同尋址方式的指令操作數的表示方法,為我們記憶匯編指令打下了基礎。MCS51指令雖多,但按功能可分為五類,其中數據傳送類28條,算術運算類24條,邏輯操作類25條,控制轉移類17條,布爾位操作類17條。在每類指令里,根據其功能,抓住其源、目的操作數的不同組合,再輔之以下方法,是完全能記住的。我們

21、約定,可能的目的操作數按(data/direct/A/Rn/Ri)順序表示。 對于MOV指令,其目的操作數按A、Rn、direct、Ri的順序書寫,則可以記住MOV的15條指令。例如以累加器A為目的操作數,可寫出如下4條指令。 MOV A,data/direct/A/Rn/Ri 以此類推,寫出其它指令。 MOV Rn,data/direct/A MOV direct,data/direct/A/Rn/Ri MOV Ri,data/direct/A 2、指令圖示記憶法 圖示記憶法是把操作功能相同或相似、但其操作數不同的指令,用圖形和箭頭將目的、源操作數的關系表示出來的一種記憶方法。例如:由助記符MOV、

溫馨提示

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

評論

0/150

提交評論